
package scripting.map;


import client.MapleCharacter;
import client.MapleClient;
import client.MapleQuestStatus;
import client.skills.SkillEntry;
import client.skills.SkillFactory;
import handling.opcode.BossEffectOpcode;
import handling.opcode.EffectOpcode;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import scripting.AbstractPlayerInteraction;
import scripting.event.EventInstanceManager;
import scripting.event.EventManager;
import scripting.npc.NPCScriptManager;
import server.MapleItemInformationProvider;
import server.Timer;
import server.life.MapleLifeFactory;
import server.life.MapleMonster;
import server.life.OverrideMonsterStats;
import server.maps.MapleMap;
import server.maps.MapleMapFactory;
import server.maps.MapleNodes;
import server.maps.events.Event_PyramidSubway;
import server.quest.MapleQuest;
import server.quest.MedalQuest;
import tools.MaplePacketCreator;
import tools.Randomizer;
import tools.packet.EffectPacket;
import tools.packet.MobPacket;
import tools.packet.UIPacket;
import tools.packet.effect.LP_UserEffectLocal;

import java.awt.*;
import java.util.HashMap;
import java.util.Map;


public class MapScriptMethods
        extends AbstractPlayerInteraction {
    /*   49 */   private static final Logger log = LogManager.getLogger(MapScriptMethods.class);


    /*   52 */   private static final Point witchTowerPos = new Point(-60, 184);
    /*   53 */   private static final String[] mulungEffects = new String[]{"胆子真够大的！别把鲁莽和勇敢混为一谈！", "想挑战武陵道场…还真有勇气！", "我等你！还有勇气的话，欢迎再来挑战！", "挑战武陵道场的家伙，我一定会让他(她)后悔！！", "想被称呼为失败者吗？欢迎来挑战！"};


    public MapScriptMethods(MapleClient c) {
        /*   61 */
        super(c);

    }


    public static void startDirectionInfo(MapleCharacter chr, boolean start) {
        final MapleClient c = chr.getClient();
        MapleNodes.DirectionInfo di = chr.getMap().getDirectionInfo(start ? 0 : chr.getDirection());
        if (di != null && di.eventQ.size() > 0) {
            if (start) {
                c.announce(UIPacket.IntroDisableUI(true));
                c.announce(UIPacket.getDirectionInfo(3, 4));
            } else {
                for (String s : di.eventQ) {
                    switch (directionInfo.fromString(s)) {
                        case merTutorDrecotion01: //direction info: 1 is probably the time
                            c.announce(UIPacket.getDirectionInfo("Effect/Direction5.img/effect/mercedesInIce/merBalloon/0", 2000, 0, -100, 1));
                            break;
                        case merTutorDrecotion02:
                            c.announce(UIPacket.getDirectionInfo("Effect/Direction5.img/effect/mercedesInIce/merBalloon/1", 2000, 0, -100, 1));
                            break;
                        case merTutorDrecotion03:
                            c.announce(UIPacket.getDirectionInfo(3, 2));
                            c.announce(UIPacket.getDirectionStatus(true));
                            c.announce(UIPacket.getDirectionInfo("Effect/Direction5.img/effect/mercedesInIce/merBalloon/2", 2000, 0, -100, 1));
                            break;
                        case merTutorDrecotion04:
                            c.announce(UIPacket.getDirectionInfo(3, 2));
                            c.announce(UIPacket.getDirectionStatus(true));
                            c.announce(UIPacket.getDirectionInfo("Effect/Direction5.img/effect/mercedesInIce/merBalloon/3", 2000, 0, -100, 1));
                            break;
                        case merTutorDrecotion05:
                            c.announce(UIPacket.getDirectionInfo(3, 2));
                            c.announce(UIPacket.getDirectionStatus(true));
                            c.announce(UIPacket.getDirectionInfo("Effect/Direction5.img/effect/mercedesInIce/merBalloon/4", 2000, 0, -100, 1));
                            Timer.EventTimer.getInstance().schedule(() -> {
                                c.announce(UIPacket.getDirectionInfo(3, 2));
                                c.announce(UIPacket.getDirectionStatus(true));
                                c.announce(UIPacket.getDirectionInfo("Effect/Direction5.img/effect/mercedesInIce/merBalloon/5", 2000, 0, -100, 1));
                            }, 2000);
                            Timer.EventTimer.getInstance().schedule(() -> {
                                c.announce(UIPacket.IntroEnableUI(0));
                                c.announce(MaplePacketCreator.enableActions());
                            }, 4000);
                            break;
                        case merTutorDrecotion12:
                            c.announce(UIPacket.getDirectionInfo(3, 2));
                            c.announce(UIPacket.getDirectionStatus(true));
                            c.announce(UIPacket.getDirectionInfo("Effect/Direction5.img/effect/mercedesInIce/merBalloon/8", 2000, 0, -100, 1));
                            c.announce(UIPacket.IntroEnableUI(0));
                            break;
                        case merTutorDrecotion21:
                            c.announce(UIPacket.getDirectionInfo(3, 1));
                            c.announce(UIPacket.getDirectionStatus(true));
                            MapleMap mapto = c.getChannelServer().getMapFactory().getMap(910150005);
                            c.getPlayer().changeMap(mapto, mapto.getPortal(0));
                            break;
                        case ds_tuto_0_2:
                            c.announce(MaplePacketCreator.showEffect("demonSlayer/text1"));
                            break;
                        case ds_tuto_0_1:
                            c.announce(UIPacket.getDirectionInfo(3, 2));
                            break;
                        case ds_tuto_0_3:
                            c.announce(MaplePacketCreator.showEffect("demonSlayer/text2"));
                            Timer.EventTimer.getInstance().schedule(() -> {
                                c.announce(UIPacket.getDirectionInfo(1, 4000));
                                c.announce(MaplePacketCreator.showEffect("demonSlayer/text3"));
                            }, 2000);
                            Timer.EventTimer.getInstance().schedule(() -> {
                                c.announce(UIPacket.getDirectionInfo(1, 500));
                                c.announce(MaplePacketCreator.showEffect("demonSlayer/text4"));
                            }, 6000);
                            Timer.EventTimer.getInstance().schedule(() -> {
                                c.announce(UIPacket.getDirectionInfo(1, 4000));
                                c.announce(MaplePacketCreator.showEffect("demonSlayer/text5"));
                            }, 6500);
                            Timer.EventTimer.getInstance().schedule(() -> {
                                c.announce(UIPacket.getDirectionInfo(1, 500));
                                c.announce(MaplePacketCreator.showEffect("demonSlayer/text6"));
                            }, 10500);
                            Timer.EventTimer.getInstance().schedule(() -> {
                                c.announce(UIPacket.getDirectionInfo(1, 4000));
                                c.announce(MaplePacketCreator.showEffect("demonSlayer/text7"));
                            }, 11000);
                            Timer.EventTimer.getInstance().schedule(() -> {
                                c.announce(UIPacket.getDirectionInfo(4, 2159307));
                                NPCScriptManager.getInstance().dispose(c);
                                NPCScriptManager.getInstance().start(c, 2159307);
                            }, 15000);
                            break;
                    }
                }
            }
            c.announce(UIPacket.getDirectionInfo(1, 2000));
            chr.setDirection(chr.getDirection() + 1);
            if (chr.getMap().getDirectionInfo(chr.getDirection()) == null) {
                chr.setDirection(-1);
            }
        } else if (start) {
            switch (chr.getMapId()) {
                //hack
                case 931050300:
                    while (chr.getLevel() < 10) {
                        chr.levelUp();
                    }
                    MapleMap mapto = c.getChannelServer().getMapFactory().getMap(931050000);
                    chr.changeMap(mapto, mapto.getPortal(0));
                    break;
            }
        }

    }


    public static void startScript_FirstUser(MapleClient c, String scriptName) {

        MapleMap map, map2, map3;

        int temp;

        EventManager em;

        Point pos1;

        int rand;

        MapleMonster monster6;

        EventInstanceManager eventInstance;

        int stage;

        Point pos2;

        int mob_ToSpawn;

        Point pos3;

        int spawnPer, mobId, i;
        /*  693 */
        if (c.getPlayer() == null) {

            return;

        }
        /*  696 */
        boolean bl2 = false;
        /*  697 */
        switch (scriptName) {

            case "pierre_Summon":

            case "pierre_Summon1":
                /*  700 */
                map = c.getPlayer().getMap();
                /*  701 */
                eventInstance = c.getPlayer().getEventInstance();
                /*  702 */
                if (eventInstance != null && eventInstance.getProperty("show").equals("0")) {
                    /*  703 */
                    eventInstance.setProperty("show", "1");
                    /*  704 */
                    map.startMapEffect("欢迎你来参加皮埃尔的茶会！", 5120098);

                }

                break;


            case "VanLeon_Before":
                /*  709 */
                map2 = c.getPlayer().getMap();
                /*  710 */
                if (!map2.containsNPC(2161000) && map2.getMobsSize() <= 0) {
                    /*  711 */
                    map2.resetFully();
                    /*  712 */
                    map2.spawnNpc(2161000, new Point(-5, -181));

                }

                break;


            case "cygnus_AK_mapEnterEff":
                /*  718 */
                map3 = c.getPlayer().getMap();
                /*  719 */
                if (!map3.containsNPC(9390417) && map3.getMobsSize() <= 0) {
                    /*  720 */
                    map3.spawnNpc(9390417, new Point(0, -181));

                }

                break;


            case "Ranmaru_Before2":
                /*  726 */
                handleRanmaru_Before(c);

                break;


            case "mCastle_enter":
                /*  730 */
                c.announce(MaplePacketCreator.showEffect("event/mCastle"));

                break;


            case "mapFU_910028310":
                /*  734 */
                c.getPlayer().getMap().resetFully();
                /*  735 */
                c.getPlayer().getMap().startMapEffect("请确认消灭所有怪物!", 5120079);

                break;


            case "mapFU_910028360":
                /*  739 */
                c.getPlayer().getMap().resetFully();
                /*  740 */
                c.getPlayer().getMap().startMapEffect("Get rid of the Whipped Cream Wight.", 5120079);
                /*  741 */
                c.getPlayer().getMap().spawnMonsterOnGroundBelow(MapleLifeFactory.getMonster(9500579), new Point(733, 146));

                break;


            case "mapFU_910028330":
                /*  745 */
                c.getPlayer().getMap().resetFully();
                /*  746 */
                c.getPlayer().getMap().startMapEffect("Hunt down Witch Cats and collect 10 Party Outfix Boxes.", 5120079);

                break;


            case "mapFU_910028350":
                /*  750 */
                c.getPlayer().getMap().resetFully();
                /*  751 */
                c.getPlayer().getMap().startMapEffect("Vanquish those ghosts and find the letter.", 5120079);

                break;


            case "boss_Event_PinkZakum":
                /*  755 */
                c.getPlayer().getMap().startMapEffect("DO NOT BE ALARMED! The Pink Zakum clone was just to help adventurers like you relieve stress!", 5120039);

                break;


            case "dojang_Eff":
                /*  759 */
                temp = (c.getPlayer().getMapId() - 925000000) / 100;
                /*  760 */
                stage = temp - temp / 100 * 100;
                /*  761 */
                sendDojoClock(c, getTiming(stage) * 60);
                /*  762 */
                sendDojoStart(c, stage - getDojoStageDec(stage));

                break;


            case "PinkBeen_before":
                /*  766 */
                handlePinkBeanStart(c);

                break;


            case "onRewordMap":
                /*  770 */
                reloadWitchTower(c);

                break;


            case "WUmoonrabbit_mapEnter":

            case "moonrabbit_mapEnter":
                /*  776 */
                c.getPlayer().getMap().startMapEffect("收集迎月花种子并种下,并保护好月妙!!", 5120016);

                break;


            case "Ranmaru_Before":
                /*  780 */
                handleRanmaru_Before(c);

                break;


            case "queen_summon0":
                /*  784 */
                if (c.getPlayer().getMap().getMobsSize() != 0) ;

                break;


            case "abysscave_ent":

                break;


            case "banban_Summon":
                /*  791 */
                if (c.getPlayer().getMap().getMobsSize() != 0) ;

                break;


            case "WUStageMsg_goddess":
                /*  795 */
                switch (c.getPlayer().getMapId()) {

                    case 933031000:
                        /*  797 */
                        c.getPlayer().getMap().startMapEffect("请带回来所有的女神像碎片!!", 5120019);

                        break;


                    case 933032000:
                        /*  801 */
                        c.getPlayer().getMap().startMapEffect("请找到今天所属的LP唱片.把LP放在中央的留声机前面,可以演奏音乐!", 5120019);

                        break;


                    case 933033000:
                        /*  805 */
                        c.getPlayer().getMap().startMapEffect("请消灭<仓库>里的独角狮.", 5120019);

                        break;


                    case 933034000:
                        /*  809 */
                        c.getPlayer().getMap().startMapEffect("请消灭怪物,收集30个小碎片!", 5120019);

                        break;


                    case 933035000:
                        /*  813 */
                        c.getPlayer().getMap().startMapEffect("找到正确的踏板,爬到顶上去操纵开关!", 5120019);

                        break;


                    case 933037000:
                        /*  820 */
                        c.getPlayer().getMap().startMapEffect("请把食人花的种子种到花盆里,寻找黑食人花生长的花盆!", 5120019);

                        break;

                }


                break;


            case "StageMsg_goddess":
                /*  827 */
                switch (c.getPlayer().getMapId()) {

                    case 920010000:
                        /*  829 */
                        c.getPlayer().getMap().startMapEffect("请收集云片来救我!!", 5120019);

                        break;


                    case 920010100:
                        /*  833 */
                        c.getPlayer().getMap().startMapEffect("请带回来所有的女神像碎片!!", 5120019);

                        break;


                    case 920010200:
                        /*  837 */
                        c.getPlayer().getMap().startMapEffect("消灭所有怪物并收集碎片!", 5120019);

                        break;


                    case 920010300:
                        /*  841 */
                        c.getPlayer().getMap().startMapEffect("消灭每一层出现的怪物并收集碎片!!", 5120019);

                        break;


                    case 920010400:
                        /*  845 */
                        c.getPlayer().getMap().startMapEffect("获得女神的LP.把LP放在中央的留声机前面,可以演奏音乐!", 5120019);

                        break;


                    case 920010500:
                        /*  849 */
                        c.getPlayer().getMap().startMapEffect("找出正确的组合!", 5120019);

                        break;


                    case 920010600:
                        /*  853 */
                        c.getPlayer().getMap().startMapEffect("消灭所有怪物并收集碎片!", 5120019);

                        break;


                    case 920010700:
                        /*  857 */
                        c.getPlayer().getMap().startMapEffect("到达顶部,并找出正确的组合!!", 5120019);

                        break;


                    case 920010800:
                        /*  861 */
                        c.getPlayer().getMap().startMapEffect("召唤并消灭精灵爸爸!!", 5120019);

                        break;

                }


                break;

            case "StageMsg_crack":
                /*  867 */
                switch (c.getPlayer().getMapId()) {

                    case 922010100:
                        /*  869 */
                        c.getPlayer().getMap().startMapEffect("消灭次元玩具白鼠和次元玩具黑鼠，搜集20张次元通行证！", 5120018);

                        break;


                    case 922010200:
                        /*  873 */
                        c.getPlayer().getMap().startMapEffect("打开箱子,搜集所有的通行证！", 5120018);

                        break;


                    case 922010300:
                        /*  877 */
                        c.getPlayer().getMap().startMapEffect("Destroy the monsters!", 5120018);

                        break;


                    case 922010400:
                        /*  881 */
                        c.getPlayer().getMap().startMapEffect("请消灭次元洞里的黑眼鬼和黑眼怪,并搜集所有的通行证！", 5120018);

                        break;


                    case 922010500:
                        /*  885 */
                        c.getPlayer().getMap().startMapEffect("Collect passes from each room!", 5120018);

                        break;


                    case 922010600:
                        /*  889 */
                        c.getPlayer().getMap().startMapEffect("解开隐藏的箱子的密码，爬到顶部。", 5120018);

                        break;


                    case 922010700:
                        /*  893 */
                        c.getPlayer().getMap().startMapEffect("消灭这里所有的战甲吹泡泡鱼！", 5120018);

                        break;


                    case 922010800:
                        /*  897 */
                        c.getPlayer().getMap().startMapEffect("听问题，爬到正确答案对应的箱子上去！", 5120018);

                        break;


                    case 922010900:
                        /*  901 */
                        c.getPlayer().getMap().startMapEffect("消灭阿丽莎乐！", 5120018);

                        break;

                }


                break;

            case "StageMsg_together":
                /*  907 */
                switch (c.getPlayer().getMapId()) {

                    case 103000800:
                        /*  909 */
                        c.getPlayer().getMap().startMapEffect("Solve the question and gather the amount of passes!", 5120017);

                        break;

                    case 103000801:
                        /*  912 */
                        c.getPlayer().getMap().startMapEffect("Get on the ropes and unveil the correct combination!", 5120017);

                        break;

                    case 103000802:
                        /*  915 */
                        c.getPlayer().getMap().startMapEffect("Get on the platforms and unveil the correct combination!", 5120017);

                        break;

                    case 103000803:
                        /*  918 */
                        c.getPlayer().getMap().startMapEffect("Get on the barrels and unveil the correct combination!", 5120017);

                        break;

                    case 103000804:
                        /*  921 */
                        c.getPlayer().getMap().startMapEffect("Defeat King Slime and his minions!", 5120017);

                        break;

                }


                break;

            case "StageMsg_romio":
                /*  927 */
                switch (c.getPlayer().getMapId()) {

                    case 926100000:
                        /*  929 */
                        c.getPlayer().getMap().startMapEffect("Please find the hidden door by investigating the Lab!", 5120021);

                        break;

                    case 926100001:
                        /*  932 */
                        c.getPlayer().getMap().startMapEffect("Find  your way through this darkness!", 5120021);

                        break;

                    case 926100100:
                        /*  935 */
                        c.getPlayer().getMap().startMapEffect("Fill the beakers to power the energy!", 5120021);

                        break;

                    case 926100200:
                        /*  938 */
                        c.getPlayer().getMap().startMapEffect("Get the files for the experiment through each door!", 5120021);

                        break;

                    case 926100203:
                        /*  941 */
                        c.getPlayer().getMap().startMapEffect("Please defeat all the monsters!", 5120021);

                        break;

                    case 926100300:
                        /*  944 */
                        c.getPlayer().getMap().startMapEffect("Find your way through the Lab!", 5120021);

                        break;

                    case 926100401:
                        /*  947 */
                        c.getPlayer().getMap().startMapEffect("Please, protect my love!", 5120021);

                        break;

                }


                break;

            case "StageMsg_juliet":
                /*  953 */
                switch (c.getPlayer().getMapId()) {

                    case 926110000:
                        /*  955 */
                        c.getPlayer().getMap().startMapEffect("Please find the hidden door by investigating the Lab!", 5120022);

                        break;

                    case 926110001:
                        /*  958 */
                        c.getPlayer().getMap().startMapEffect("Find  your way through this darkness!", 5120022);

                        break;

                    case 926110100:
                        /*  961 */
                        c.getPlayer().getMap().startMapEffect("Fill the beakers to power the energy!", 5120022);

                        break;

                    case 926110200:
                        /*  964 */
                        c.getPlayer().getMap().startMapEffect("Get the files for the experiment through each door!", 5120022);

                        break;

                    case 926110203:
                        /*  967 */
                        c.getPlayer().getMap().startMapEffect("Please defeat all the monsters!", 5120022);

                        break;

                    case 926110300:
                        /*  970 */
                        c.getPlayer().getMap().startMapEffect("Find your way through the Lab!", 5120022);

                        break;

                    case 926110401:
                        /*  973 */
                        c.getPlayer().getMap().startMapEffect("Please, protect my love!", 5120022);

                        break;

                }


                break;

            case "party6weatherMsg":
                /*  979 */
                switch (c.getPlayer().getMapId()) {

                    case 930000000:
                        /*  981 */
                        c.getPlayer().getMap().startMapEffect("Step in the portal to be transformed.", 5120023);

                        break;

                    case 930000100:
                        /*  984 */
                        c.getPlayer().getMap().startMapEffect("Defeat the poisoned monsters!", 5120023);

                        break;

                    case 930000200:
                        /*  987 */
                        c.getPlayer().getMap().startMapEffect("Eliminate the spore that blocks the way by purifying the poison!", 5120023);

                        break;

                    case 930000300:
                        /*  990 */
                        c.getPlayer().getMap().startMapEffect("Uh oh! The forest is too confusing! Find me, quick!", 5120023);

                        break;

                    case 930000400:
                        /*  993 */
                        c.getPlayer().getMap().startMapEffect("Purify the monsters by getting Purification Marbles from me!", 5120023);

                        break;

                    case 930000500:
                        /*  996 */
                        c.getPlayer().getMap().startMapEffect("Find the Purple Magic Stone!", 5120023);

                        break;

                    case 930000600:
                        /*  999 */
                        c.getPlayer().getMap().startMapEffect("Place the Magic Stone on the altar!", 5120023);

                        break;

                }


                break;

            case "prisonBreak_mapEnter":
                /* 1005 */
                switch (c.getPlayer().getMapId()) {

                    case 921160100:
                        /* 1007 */
                        c.getPlayer().getMap().startMapEffect("嘘！必须悄悄地避开障碍物，从塔里出去。", 5120053);

                        break;


                    case 921160200:
                        /* 1011 */
                        c.getPlayer().getMap().startMapEffect("必须消灭所有警卫。否则他们会叫来其他警卫。", 5120053);

                        break;


                    case 921160300:
                        /* 1015 */
                        c.getPlayer().getMap().startMapEffect("为了防止有人接近监狱，他们建造了迷宫。请寻找通往空中监狱的门！", 5120053);

                        break;


                    case 921160400:
                        /* 1019 */
                        c.getPlayer().getMap().startMapEffect("必须消灭所有警卫。否则他们会叫来其他警卫。", 5120053);

                        break;


                    case 921160500:
                        /* 1023 */
                        c.getPlayer().getMap().startMapEffect("这是最后的障碍物。请通过障碍物，到空中监狱来。", 5120053);

                        break;


                    case 921160600:
                        /* 1027 */
                        c.getPlayer().getMap().startMapEffect("请消灭警卫，找到监狱钥匙，打开监狱门。", 5120053);

                        break;


                    case 921160700:
                        /* 1031 */
                        c.getPlayer().getMap().startMapEffect("请消灭看守，让我们重获自由！！！！", 5120053);

                        break;

                }


                break;


            case "StageMsg_davy":
                /* 1038 */
                switch (c.getPlayer().getMapId()) {

                    case 925100000:
                        /* 1040 */
                        c.getPlayer().getMap().startMapEffect("必须在限定时间内消灭所有怪物，登上海盗船！", 5120020);

                        break;


                    case 925100100:
                        /* 1044 */
                        c.getPlayer().getMap().startMapEffect("搜集所有海盗的证物。。", 5120020);

                        break;


                    case 925100200:
                        /* 1048 */
                        c.getPlayer().getMap().startMapEffect("Defeat the guards here to pass!", 5120020);

                        break;


                    case 925100300:
                        /* 1052 */
                        c.getPlayer().getMap().startMapEffect("Eliminate the guards here to pass!", 5120020);

                        break;


                    case 925100400:
                        /* 1056 */
                        c.getPlayer().getMap().startMapEffect("在限定时间内从怪物身上搜集钥匙，关上所有的门！!", 5120020);

                        break;


                    case 925100500:
                        /* 1060 */
                        c.getPlayer().getMap().startMapEffect("好了，这是最后一次。击败红鼻子海盗团的船长老海盗！", 5120020);

                        break;

                }
                /* 1063 */
                em = c.getChannelServer().getEventSM().getEventManager("Pirate");
                /* 1064 */
                if (c.getPlayer().getMapId() == 925100500 && em != null && em.getProperty("stage5") != null) {
                    /* 1065 */
                    int j = Randomizer.nextBoolean() ? 9300107 : 9300119;
                    /* 1066 */
                    int st = Integer.parseInt(em.getProperty("stage5"));
                    /* 1067 */
                    switch (st) {

                        case 1:
                            /* 1069 */
                            j = Randomizer.nextBoolean() ? 9300119 : 9300105;

                            break;

                        case 2:
                            /* 1072 */
                            j = Randomizer.nextBoolean() ? 9300106 : 9300105;

                            break;

                    }
                    /* 1075 */
                    MapleMonster shammos = MapleLifeFactory.getMonster(j);
                    /* 1076 */
                    if (c.getPlayer().getEventInstance() != null) {
                        /* 1077 */
                        c.getPlayer().getEventInstance().registerMonster(shammos);

                    }
                    /* 1079 */
                    c.getPlayer().getMap().spawnMonsterOnGroundBelow(shammos, new Point(411, 236));

                }

                break;


            case "astaroth_summon":
                /* 1084 */
                c.getPlayer().getMap().resetFully();

                break;


            case "boss_Ravana_mirror":

            case "boss_Ravana":
                /* 1089 */
                c.getPlayer().getMap().broadcastMessage(MaplePacketCreator.serverEvent("拉瓦特出现了。"));

                break;


            case "killing_BonusSetting":
                /* 1099 */
                c.getPlayer().getMap().resetFully();
                /* 1100 */
                c.announce(MaplePacketCreator.showEffect("killing/bonus/bonus"));
                /* 1101 */
                c.announce(MaplePacketCreator.showEffect("killing/bonus/stage"));
                /* 1102 */
                pos1 = null;
                pos2 = null;
                pos3 = null;
                /* 1103 */
                spawnPer = 0;
                /* 1104 */
                mobId = 0;


                /* 1107 */
                if (c.getPlayer().getMapId() >= 910320010 && c.getPlayer().getMapId() <= 910320029) {
                    /* 1108 */
                    pos1 = new Point(121, 218);
                    /* 1109 */
                    pos2 = new Point(396, 43);
                    /* 1110 */
                    pos3 = new Point(-63, 43);
                    /* 1111 */
                    mobId = 9700020;
                    /* 1112 */
                    spawnPer = 10;
                    /* 1113 */
                } else if (c.getPlayer().getMapId() >= 926010010 && c.getPlayer().getMapId() <= 926010029) {
                    /* 1114 */
                    pos1 = new Point(0, 88);
                    /* 1115 */
                    pos2 = new Point(-326, -115);
                    /* 1116 */
                    pos3 = new Point(361, -115);
                    /* 1117 */
                    mobId = 9700019;
                    /* 1118 */
                    spawnPer = 10;
                    /* 1119 */
                } else if (c.getPlayer().getMapId() >= 926010030 && c.getPlayer().getMapId() <= 926010049) {
                    /* 1120 */
                    pos1 = new Point(0, 88);
                    /* 1121 */
                    pos2 = new Point(-326, -115);
                    /* 1122 */
                    pos3 = new Point(361, -115);
                    /* 1123 */
                    mobId = 9700019;
                    /* 1124 */
                    spawnPer = 15;
                    /* 1125 */
                } else if (c.getPlayer().getMapId() >= 926010050 && c.getPlayer().getMapId() <= 926010069) {
                    /* 1126 */
                    pos1 = new Point(0, 88);
                    /* 1127 */
                    pos2 = new Point(-326, -115);
                    /* 1128 */
                    pos3 = new Point(361, -115);
                    /* 1129 */
                    mobId = 9700019;
                    /* 1130 */
                    spawnPer = 20;
                    /* 1131 */
                } else if (c.getPlayer().getMapId() >= 926010070 && c.getPlayer().getMapId() <= 926010089) {
                    /* 1132 */
                    pos1 = new Point(0, 88);
                    /* 1133 */
                    pos2 = new Point(-326, -115);
                    /* 1134 */
                    pos3 = new Point(361, -115);
                    /* 1135 */
                    mobId = 9700029;
                    /* 1136 */
                    spawnPer = 20;

                } else {

                    break;

                }
                /* 1140 */
                for (i = 0; i < spawnPer; i++) {
                    /* 1141 */
                    c.getPlayer().getMap().spawnMonsterOnGroundBelow(MapleLifeFactory.getMonster(mobId), new Point(pos1));
                    /* 1142 */
                    c.getPlayer().getMap().spawnMonsterOnGroundBelow(MapleLifeFactory.getMonster(mobId), new Point(pos2));
                    /* 1143 */
                    c.getPlayer().getMap().spawnMonsterOnGroundBelow(MapleLifeFactory.getMonster(mobId), new Point(pos3));

                }

                /* 1146 */
                c.getPlayer().startMapTimeLimitTask(120, c.getPlayer().getMap().getReturnMap());

                break;


            case "mPark_summonBoss":
                /* 1150 */
                if (c.getPlayer().getEventInstance() != null && c.getPlayer().getEventInstance().getProperty("boss") != null && c.getPlayer().getEventInstance().getProperty("boss").equals("0")) {
                    /* 1151 */
                    for (int j = 9800119; j < 9800125; j++) {
                        /* 1152 */
                        MapleMonster boss = MapleLifeFactory.getMonster(j);
                        /* 1153 */
                        c.getPlayer().getEventInstance().registerMonster(boss);
                        /* 1154 */
                        c.getPlayer().getMap().spawnMonsterOnGroundBelow(boss, new Point(c.getPlayer().getMap().getPortal(2).getPosition()));

                    }

                }

                break;


            case "shammos_Fenter":
                /* 1160 */
                if (c.getPlayer().getMapId() >= 921120005 && c.getPlayer().getMapId() < 921120500) {
                    /* 1161 */
                    MapleMonster shammos = MapleLifeFactory.getMonster(9300275);
                    /* 1162 */
                    if (c.getPlayer().getEventInstance() != null) {
                        /* 1163 */
                        int averageLevel = 0, size = 0;
                        /* 1164 */
                        for (MapleCharacter pl : c.getPlayer().getEventInstance().getPlayers()) {
                            /* 1165 */
                            averageLevel += pl.getLevel();
                            /* 1166 */
                            size++;

                        }
                        /* 1168 */
                        if (size <= 0) {

                            return;

                        }
                        /* 1171 */
                        averageLevel /= size;
                        /* 1172 */
                        shammos.changeLevel(averageLevel);
                        /* 1173 */
                        c.getPlayer().getEventInstance().registerMonster(shammos);
                        /* 1174 */
                        if (c.getPlayer().getEventInstance().getProperty("HP") == null) {
                            /* 1175 */
                            c.getPlayer().getEventInstance().setProperty("HP", averageLevel + "000");

                        }
                        /* 1177 */
                        shammos.setHp(Long.parseLong(c.getPlayer().getEventInstance().getProperty("HP")));

                    }
                    /* 1179 */
                    c.getPlayer().getMap().spawnMonsterWithEffectBelow(shammos, new Point(c.getPlayer().getMap().getPortal(0).getPosition()), 12);
                    /* 1180 */
                    shammos.switchController(c.getPlayer(), false);
                    /* 1181 */
                    c.announce(MobPacket.mobEscortReturnBefore(shammos, c.getPlayer().getMap()));


                    break;

                }
                /* 1185 */
                if (c.getPlayer().getMapId() == 921120500 && c.getPlayer().getMap().getAllMonstersThreadsafe().size() == 0) {
                    /* 1186 */
                    MapleMonster shammos = MapleLifeFactory.getMonster(9300281);
                    /* 1187 */
                    if (c.getPlayer().getEventInstance() != null) {
                        /* 1188 */
                        int averageLevel = 0, size = 0;
                        /* 1189 */
                        for (MapleCharacter pl : c.getPlayer().getEventInstance().getPlayers()) {
                            /* 1190 */
                            averageLevel += pl.getLevel();
                            /* 1191 */
                            size++;

                        }
                        /* 1193 */
                        if (size <= 0) {

                            return;

                        }
                        /* 1196 */
                        averageLevel /= size;
                        /* 1197 */
                        shammos.changeLevel(Math.max(120, Math.min(200, averageLevel)));

                    }
                    /* 1199 */
                    c.getPlayer().getMap().spawnMonsterOnGroundBelow(shammos, new Point(350, 170));

                }

                break;


            case "iceman_FEnter":
                /* 1205 */
                if (c.getPlayer().getMapId() >= 932000100 && c.getPlayer().getMapId() < 932000300) {
                    /* 1206 */
                    MapleMonster shammos = MapleLifeFactory.getMonster(9300438);
                    /* 1207 */
                    if (c.getPlayer().getEventInstance() != null) {
                        /* 1208 */
                        int averageLevel = 0, size = 0;
                        /* 1209 */
                        for (MapleCharacter pl : c.getPlayer().getEventInstance().getPlayers()) {
                            /* 1210 */
                            averageLevel += pl.getLevel();
                            /* 1211 */
                            size++;

                        }
                        /* 1213 */
                        if (size <= 0) {

                            return;

                        }
                        /* 1216 */
                        averageLevel /= size;
                        /* 1217 */
                        shammos.changeLevel(averageLevel);
                        /* 1218 */
                        c.getPlayer().getEventInstance().registerMonster(shammos);
                        /* 1219 */
                        shammos.getChangedStats().setOHp((averageLevel * 100));
                        /* 1220 */
                        shammos.setHp((averageLevel * 100));
                        /* 1221 */
                        if (c.getPlayer().getEventInstance().getProperty("HP") == null) {
                            /* 1222 */
                            c.getPlayer().getEventInstance().setProperty("HP", averageLevel + "000");

                        }
                        /* 1224 */
                        shammos.setHp(Long.parseLong(c.getPlayer().getEventInstance().getProperty("HP")));

                    }
                    /* 1226 */
                    c.getPlayer().getMap().spawnMonsterWithEffectBelow(shammos, new Point(c.getPlayer().getMap().getPortal(0).getPosition()), 12);
                    /* 1227 */
                    shammos.switchController(c.getPlayer(), false);
                    /* 1228 */
                    c.announce(MobPacket.mobEscortReturnBefore(shammos, c.getPlayer().getMap()));

                }

                break;


            case "PRaid_D_Fenter":
                /* 1233 */
                switch (c.getPlayer().getMapId() % 10) {

                    case 0:
                        /* 1235 */
                        c.getPlayer().getMap().startMapEffect("请消灭所有怪物!", 5120033);

                        break;


                    case 1:
                        /* 1239 */
                        c.getPlayer().getMap().startMapEffect("打开箱子并消灭怪物!", 5120033);

                        break;


                    case 2:
                        /* 1243 */
                        c.getPlayer().getMap().startMapEffect("请消灭警官!", 5120033);

                        break;


                    case 3:
                        /* 1247 */
                        c.getPlayer().getMap().startMapEffect("请消灭所有怪物!", 5120033);

                        break;


                    case 4:
                        /* 1251 */
                        c.getPlayer().getMap().startMapEffect("找到通往下一关的路!", 5120033);

                        break;

                }


                break;


            case "PRaid_B_Fenter":
                /* 1258 */
                c.getPlayer().getMap().startMapEffect("请打败幽灵船长!", 5120033);

                break;


            case "summon_pepeking":
                /* 1262 */
                c.getPlayer().getMap().resetFully();
                /* 1263 */
                rand = Randomizer.nextInt(10);
                /* 1264 */
                mob_ToSpawn = 100100;
                /* 1265 */
                if (rand >= 4) {
                    /* 1266 */
                    mob_ToSpawn = 3300007;
                    /* 1267 */
                } else if (rand >= 1) {
                    /* 1268 */
                    mob_ToSpawn = 3300006;

                } else {
                    /* 1270 */
                    mob_ToSpawn = 3300005;

                }
                /* 1272 */
                c.getPlayer().getMap().spawnMonsterOnGroundBelow(MapleLifeFactory.getMonster(mob_ToSpawn), c.getPlayer().getPosition());

                break;


            case "Xerxes_summon":
                /* 1276 */
                c.getPlayer().getMap().resetFully();
                /* 1277 */
                c.getPlayer().getMap().spawnMonsterOnGroundBelow(MapleLifeFactory.getMonster(6160003), c.getPlayer().getPosition());

                break;


            case "shammos_FStart":
                /* 1281 */
                c.getPlayer().getMap().startMapEffect("请消灭怪物!", 5120035);

                break;

            case "kenta_mapEnter":
                /* 1284 */
                switch (c.getPlayer().getMapId() / 100 % 10) {

                    case 1:
                        /* 1286 */
                        c.getPlayer().getMap().startMapEffect("你能听见我的声音吗？请帮帮我！！我在受难船附近……", 5120052);

                        break;


                    case 2:
                        /* 1290 */
                        c.getPlayer().getMap().startMapEffect("海洋生物变得狂暴的原因究竟是什么呢……", 5120052);
                        /* 1291 */
                        monster6 = MapleLifeFactory.getMonster(9300460);
                        /* 1292 */
                        monster6.setHp(Long.parseLong(c.getPlayer().getEventInstance().getProperty("HP")));
                        /* 1293 */
                        c.getPlayer().getEventInstance().registerMonster(monster6);
                        /* 1294 */
                        c.getPlayer().getMap().spawnMonsterOnGroundBelow(monster6, new Point(c.getPlayer().getMap().getPortal(0).getPosition()));
                        /* 1295 */
                        monster6.switchController(c.getPlayer(), false);
                        /* 1296 */
                        c.announce(MobPacket.mobEscortReturnBefore(monster6, c.getPlayer().getMap()));
                        /* 1297 */
                        c.getPlayer().send_other(UIPacket.showPQEffect(3, "cave1", "0"), true);
                        /* 1298 */
                        c.getPlayer().send_other(UIPacket.showPQEffect(3, "cave2", "0"), true);
                        /* 1299 */
                        c.getPlayer().send_other(UIPacket.showPQEffect(3, "cave3", "0"), true);
                        /* 1300 */
                        c.getPlayer().send_other(UIPacket.showPQEffect(3, "cave4", "0"), true);

                        break;


                    case 3:
                        /* 1304 */
                        if (!c.getPlayer().getMap().containsNPC(9020004)) {
                            /* 1305 */
                            c.getPlayer().getMap().spawnNpc(9020004, new Point(147, 168));

                        }

                        break;


                    case 4:
                        /* 1310 */
                        c.getPlayer().getMap().startMapEffect("这么大的鱼……这就是皮亚奴斯？而且还是2条！！它们在攻击我们！请消灭掉它们！！", 5120052);

                        break;

                }


                break;


            case "cygnus_Summon":
                /* 1317 */
                if (c.getPlayer().getEventInstance() == null || !c.getPlayer().getEventInstance().getProperty("mapEffect").equals("0"))
                    break;
                /* 1319 */
                c.getPlayer().getEventInstance().setProperty("mapEffect", "1");
                /* 1320 */
                c.getPlayer().getMap().startMapEffect("很久没看到有人来了，但是也没看到有人可以回去。", 5120043);

                break;


            case "iceman_Boss":
                /* 1324 */
                c.getPlayer().getMap().startMapEffect("你将会灭亡!", 5120050);

                break;


            case "Visitor_Cube_poison":
                /* 1328 */
                c.getPlayer().getMap().startMapEffect("请消灭所有怪物!!!", 5120039);

                break;


            case "Visitor_Cube_Hunting_Enter_First":
                /* 1332 */
                c.getPlayer().getMap().startMapEffect("Eliminate all the Visitors!", 5120039);

                break;


            case "VisitorCubePhase00_Start":
                /* 1336 */
                c.getPlayer().getMap().startMapEffect("Eliminate all the flying monsters!", 5120039);

                break;


            case "visitorCube_addmobEnter":
                /* 1340 */
                c.getPlayer().getMap().startMapEffect("Eliminate all the monsters by moving around the map!", 5120039);

                break;


            case "Visitor_Cube_PickAnswer_Enter_First_1":
                /* 1344 */
                c.getPlayer().getMap().startMapEffect("One of the aliens must have a clue to the way out.", 5120039);

                break;


            case "visitorCube_medicroom_Enter":
                /* 1348 */
                c.getPlayer().getMap().startMapEffect("Eliminate all of the Unjust Visitors!", 5120039);

                break;


            case "visitorCube_iceyunna_Enter":
                /* 1352 */
                c.getPlayer().getMap().startMapEffect("Eliminate all of the Speedy Visitors!", 5120039);

                break;


            case "Visitor_Cube_AreaCheck_Enter_First":
                /* 1356 */
                c.getPlayer().getMap().startMapEffect("The switch at the top of the room requires a heavy weight.", 5120039);

                break;


            case "visitorCube_boomboom_Enter":
                /* 1360 */
                c.getPlayer().getMap().startMapEffect("The enemy is powerful! Watch out!", 5120039);

                break;


            case "visitorCube_boomboom2_Enter":
                /* 1364 */
                c.getPlayer().getMap().startMapEffect("This Visitor is strong! Be careful!", 5120039);

                break;


            case "CubeBossbang_Enter":
                /* 1368 */
                c.getPlayer().getMap().startMapEffect("This is it! Give it your best shot!", 5120039);

                break;


            case "MalayBoss_Int":

            case "storymap_scenario":

            case "dojang_Msg":

            case "balog_summon":

            case "easy_balog_summon":

                break;


            case "metro_firstSetting":

            case "killing_MapSetting":

            case "Sky_TrapFEnter":

            case "balog_bonusSetting":
                /* 1382 */
                c.getPlayer().getMap().resetFully();

                break;


            case "magnus_summon_E":

            case "magnus_summon":

                break;


            default:
                /* 1391 */
                NPCScriptManager.getInstance().onFirstUserEnter(c, scriptName);

                break;

        }

        /* 1395 */
        if (bl2) {
            /* 1396 */
            c.getPlayer().updateMapScript(MapScriptType.onFirstUserEnter, scriptName);

        } else {
            /* 1398 */
            c.getPlayer().updateMapScript(MapScriptType.UNK, scriptName);

        }

    }


    private static void sendDojoClock(MapleClient c, int time) {
        /* 1403 */
        c.announce(MaplePacketCreator.getClock(time));

    }


    private static void sendDojoStart(MapleClient c, int stage) {
        /* 1407 */
        c.announce(MaplePacketCreator.environmentChange("Dojang/start", BossEffectOpcode.Sound.getValue(), 100));
        /* 1408 */
        c.announce(MaplePacketCreator.environmentChange("dojang/start/stage", BossEffectOpcode.TopScreen.getValue(), 0));
        /* 1409 */
        c.announce(MaplePacketCreator.environmentChange("dojang/start/number/" + stage, BossEffectOpcode.TopScreen.getValue(), 0));
        /* 1410 */
        if (stage == 1) {
            /* 1411 */
            c.getPlayer().getMap().startMapEffect("别忘了限制时间是10分钟，只要在时间内打倒怪物，进入下一层就行！", 5120024);

        }

    }


    private static void handlePinkBeanStart(MapleClient c) {
        /* 1426 */
        MapleMap map = c.getPlayer().getMap();
        /* 1427 */
        map.resetFully();
        /* 1428 */
        if (c.getPlayer().getEventInstance() != null && !map.containsNPC(2141000) && c.getPlayer().getEventInstance().getProperty("summon").equals("0")) {
            /* 1429 */
            map.spawnNpc(2141000, new Point(-190, -42));
            /* 1430 */
            c.getPlayer().getEventInstance().setProperty("summon", "1");

        }

    }


    private static void handleRanmaru_Before(MapleClient c) {
        /* 1435 */
        MapleMap map = c.getPlayer().getMap();
        /* 1436 */
        if (c.getPlayer().getEventInstance() != null && !map.containsNPC(9130090) && c.getPlayer().getEventInstance().getProperty("summoned").equals("0")) {
            /* 1437 */
            map.resetFully();
            /* 1438 */
            if (!map.containsNPC(9130090))
                /* 1439 */ map.spawnNpc(9130090, new Point(-382, 123));

        }

    }


    public enum MapScriptType {
        /* 1445 */     directionInfo,
        /* 1446 */     onFirstUserEnter,
        /* 1447 */     onUserEnter,
        /* 1448 */     UNK;

    }


    private static int getTiming(int ids) {
        /* 1452 */
        if (ids <= 5)
            /* 1453 */ return 5;
        /* 1454 */
        if (ids >= 7 && ids <= 11)
            /* 1455 */ return 6;
        /* 1456 */
        if (ids >= 13 && ids <= 17)
            /* 1457 */ return 7;
        /* 1458 */
        if (ids >= 19 && ids <= 23)
            /* 1459 */ return 8;
        /* 1460 */
        if (ids >= 25 && ids <= 29)
            /* 1461 */ return 9;
        /* 1462 */
        if (ids >= 31 && ids <= 35)
            /* 1463 */ return 10;
        /* 1464 */
        if (ids >= 37 && ids <= 38) {
            /* 1465 */
            return 15;

        }
        /* 1467 */
        return 0;

    }


    private static int getDojoStageDec(int ids) {
        /* 1471 */
        if (ids <= 5)
            /* 1472 */ return 0;
        /* 1473 */
        if (ids >= 7 && ids <= 11)
            /* 1474 */ return 1;
        /* 1475 */
        if (ids >= 13 && ids <= 17)
            /* 1476 */ return 2;
        /* 1477 */
        if (ids >= 19 && ids <= 23)
            /* 1478 */ return 3;
        /* 1479 */
        if (ids >= 25 && ids <= 29)
            /* 1480 */ return 4;
        /* 1481 */
        if (ids >= 31 && ids <= 35)
            /* 1482 */ return 5;
        /* 1483 */
        if (ids >= 37 && ids <= 38) {
            /* 1484 */
            return 6;

        }
        /* 1486 */
        return 0;
    }

    public static void startScript_User(MapleClient c, String scriptName) {
        /* 1490 */
        if (c.getPlayer() == null) {

            return;

        }
        /* 1493 */
        String data = "";
        /* 1494 */
        switch (onUserEnter.fromString(scriptName)) {

            case cannon_tuto_direction:
                /* 1496 */
                showIntro(c, "Effect/Direction4.img/cannonshooter/Scene00");
                /* 1497 */
                showIntro(c, "Effect/Direction4.img/cannonshooter/out00");

                return;


            case cannon_tuto_direction1:
                /* 1501 */
                c.announce(UIPacket.IntroDisableUI(true));
                /* 1502 */
                c.announce(UIPacket.IntroLock(true));
                /* 1503 */
                c.announce(UIPacket.getDirectionInfo("Effect/Direction4.img/effect/cannonshooter/balloon/0", 5000, 0, 0, 1));
                /* 1504 */
                c.announce(UIPacket.getDirectionInfo("Effect/Direction4.img/effect/cannonshooter/balloon/1", 5000, 0, 0, 1));
                /* 1505 */
                c.announce(UIPacket.getDirectionInfo("Effect/Direction4.img/effect/cannonshooter/balloon/2", 5000, 0, 0, 1));
                /* 1506 */
                c.announce(EffectPacket.ShowWZEffect("Effect/Direction4.img/cannonshooter/face04"));
                /* 1507 */
                c.announce(EffectPacket.ShowWZEffect("Effect/Direction4.img/cannonshooter/out01"));
                /* 1508 */
                c.announce(UIPacket.getDirectionInfo(1, 5000));

                return;


            case cannon_tuto_direction2:
                /* 1512 */
                showIntro(c, "Effect/Direction4.img/cannonshooter/Scene01");
                /* 1513 */
                showIntro(c, "Effect/Direction4.img/cannonshooter/out02");

                return;


            case cygnusTest:
                /* 1517 */
                showIntro(c, "Effect/Direction.img/cygnus/Scene" + ((c.getPlayer().getMapId() == 913040006) ? 9 : (c.getPlayer().getMapId() - 913040000)));

                return;


            case cygnusJobTutorial:
                /* 1521 */
                showIntro(c, "Effect/Direction.img/cygnusJobTutorial/Scene" + (c.getPlayer().getMapId() - 913040100));

                return;


            case shammos_Enter:
                /* 1525 */
                if (c.getPlayer().getEventInstance() != null && c.getPlayer().getMapId() == 921120500) {
                    /* 1526 */
                    NPCScriptManager.getInstance().dispose(c);
                    /* 1527 */
                    c.removeClickedNPC();
                    /* 1528 */
                    NPCScriptManager.getInstance().start(c, 2022006);

                }

                return;


            case iceman_Enter:
                /* 1533 */
                if (c.getPlayer().getEventInstance() != null && c.getPlayer().getMapId() == 932000300) {
                    /* 1534 */
                    NPCScriptManager.getInstance().dispose(c);
                    /* 1535 */
                    c.removeClickedNPC();
                    /* 1536 */
                    NPCScriptManager.getInstance().start(c, 2159020);

                }

                return;


            case start_itemTake:
                final EventManager em = c.getChannelServer().getEventSM().getEventManager("OrbisPQ");
                if (em != null && em.getProperty("pre").equals("0")) {
                    NPCScriptManager.getInstance().dispose(c);
                    c.removeClickedNPC();
                    NPCScriptManager.getInstance().start(c, 2013001);
                }
                break;


            case PRaid_W_Enter:
                /* 1550 */
                c.announce(MaplePacketCreator.sendPyramidEnergy("PRaid_expPenalty", "0"));
                /* 1551 */
                c.announce(MaplePacketCreator.sendPyramidEnergy("PRaid_ElapssedTimeAtField", "0"));
                /* 1552 */
                c.announce(MaplePacketCreator.sendPyramidEnergy("PRaid_Point", "-1"));
                /* 1553 */
                c.announce(MaplePacketCreator.sendPyramidEnergy("PRaid_Bonus", "-1"));
                /* 1554 */
                c.announce(MaplePacketCreator.sendPyramidEnergy("PRaid_Total", "-1"));
                /* 1555 */
                c.announce(MaplePacketCreator.sendPyramidEnergy("PRaid_Team", ""));
                /* 1556 */
                c.announce(MaplePacketCreator.sendPyramidEnergy("PRaid_IsRevive", "0"));
                /* 1557 */
                c.getPlayer().writePoint("PRaid_Point", "-1");
                /* 1558 */
                c.getPlayer().writeStatus("Red_Stage", "1");
                /* 1559 */
                c.getPlayer().writeStatus("Blue_Stage", "1");
                /* 1560 */
                c.getPlayer().writeStatus("redTeamDamage", "0");
                /* 1561 */
                c.getPlayer().writeStatus("blueTeamDamage", "0");

                return;


            case jail:
                /* 1565 */
                if (!c.getPlayer().isIntern()) {
                    /* 1566 */
                    c.getPlayer().getQuestNAdd(MapleQuest.getInstance(123455)).setCustomData(String.valueOf(System.currentTimeMillis()));
                    /* 1567 */
                    MapleQuestStatus stat = c.getPlayer().getQuestNAdd(MapleQuest.getInstance(123456));
                    /* 1568 */
                    if (stat.getCustomData() != null) {
                        /* 1569 */
                        int seconds = Integer.parseInt(stat.getCustomData());
                        /* 1570 */
                        if (seconds > 0) {
                            /* 1571 */
                            c.getPlayer().startMapTimeLimitTask(seconds, c.getChannelServer().getMapFactory().getMap(100000000));

                        }

                    }

                }

                return;


            case TD_neo_BossEnter:

            case findvioleta:
                /* 1579 */
                c.getPlayer().getMap().resetFully();

                return;


            case StageMsg_crack:
                /* 1583 */
                if (c.getPlayer().getMapId() == 922010400) {
                    /* 1584 */
                    MapleMapFactory mf = c.getChannelServer().getMapFactory();
                    /* 1585 */
                    int q = 0;
                    /* 1586 */
                    for (int i = 0; i < 5; i++) {
                        /* 1587 */
                        q += mf.getMap(922010401 + i).getAllMonstersThreadsafe().size();

                    }
                    /* 1589 */
                    if (q > 0) {
                        /* 1590 */
                        c.getPlayer().dropMessage(-1, "There are still " + q + " monsters remaining.");

                    }
                    /* 1592 */
                } else if (c.getPlayer().getMapId() >= 922010401 && c.getPlayer().getMapId() <= 922010405) {
                    /* 1593 */
                    if (c.getPlayer().getMap().getAllMonstersThreadsafe().size() > 0) {
                        /* 1594 */
                        c.getPlayer().dropMessage(-1, "There are still some monsters remaining in this map.");

                    } else {
                        /* 1596 */
                        c.getPlayer().dropMessage(-1, "There are no monsters remaining in this map.");

                    }

                }

                return;

            case q31102e:
                /* 1601 */
                if (c.getPlayer().getQuestStatus(31102) == 1) {
                    /* 1602 */
                    MapleQuest.getInstance(31102).forceComplete(c.getPlayer(), 2140000);

                }

                return;

            case q31103s:
                /* 1606 */
                if (c.getPlayer().getQuestStatus(31103) == 0) {
                    /* 1607 */
                    MapleQuest.getInstance(31103).forceComplete(c.getPlayer(), 2142003);

                }

                return;

            case Resi_tutor20:
                /* 1611 */
                c.announce(UIPacket.showMapEffect("resistance/tutorialGuide"));

                return;

            case Resi_tutor30:
                /* 1614 */
                c.announce(EffectPacket.AranTutInstructionalBalloon("Effect/OnUserEff.img/guideEffect/resistanceTutorial/userTalk"));

                return;

            case Resi_tutor40:
                /* 1617 */
                NPCScriptManager.getInstance().dispose(c);
                /* 1618 */
                c.removeClickedNPC();
                /* 1619 */
                NPCScriptManager.getInstance().start(c, 2159012);

                return;

            case Resi_tutor50:
                /* 1622 */
                c.announce(UIPacket.IntroDisableUI(false));
                /* 1623 */
                c.announce(UIPacket.IntroLock(false));
                /* 1624 */
                c.announce(MaplePacketCreator.enableActions());
                /* 1625 */
                NPCScriptManager.getInstance().dispose(c);
                /* 1626 */
                c.removeClickedNPC();
                /* 1627 */
                NPCScriptManager.getInstance().start(c, 2159006);

                return;

            case Resi_tutor70:
                /* 1630 */
                showIntro(c, "Effect/Direction4.img/Resistance/TalkJ");

                return;

            case prisonBreak_1stageEnter:

            case shammos_Start:

            case moonrabbit_takeawayitem:

            case TCMobrevive:

            case cygnus_ExpeditionEnter:

            case knights_Summon:

            case VanLeon_ExpeditionEnter:

            case Resi_tutor10:

            case Resi_tutor60:

            case Resi_tutor50_1:

            case sealGarden:

            case in_secretroom:

            case TD_MC_gasi2:

            case TD_MC_keycheck:

            case pepeking_effect:

            case userInBattleSquare:

            case summonSchiller:

            case VisitorleaveDirectionMode:

            case visitorPT_Enter:

            case VisitorCubePhase00_Enter:

            case visitor_ReviveMap:

            case PRaid_D_Enter:

            case PRaid_B_Enter:

            case PRaid_WinEnter:

            case PRaid_FailEnter:

            case PRaid_Revive:

            case metro_firstSetting:

            case blackSDI:

            case summonIceWall:

            case onSDI:

            case enterBlackfrog:

            case Sky_Quest:

            case dollCave00:

            case dollCave01:

            case dollCave02:

            case shammos_Base:

            case shammos_Result:

            case Sky_BossEnter:

            case Sky_GateMapEnter:

            case balog_dateSet:

            case balog_buff:

            case outCase:

            case Sky_StageEnter:

            case dojang_QcheckSet:

            case evanTogether:

            case merStandAlone:

            case EntereurelTW:

            case aranTutorAlone:

            case evanAlone:
                /* 1681 */
                c.announce(MaplePacketCreator.enableActions());

                return;


            case merOutStandAlone:
                /* 1685 */
                if (c.getPlayer().getQuestStatus(24001) == 1) {
                    /* 1686 */
                    MapleQuest.getInstance(24001).forceComplete(c.getPlayer(), 0);
                    /* 1687 */
                    c.getPlayer().dropMessage(5, "Quest complete.");

                }

                return;


            case merTutorSleep00:
                /* 1692 */
                showIntro(c, "Effect/Direction5.img/mersedesTutorial/Scene0");
                Map<Integer, SkillEntry> map1 = new HashMap<>();
                /* 1693 */
                /* 1694 */
                map1.put(Integer.valueOf(20021181), new SkillEntry(-1, (byte) 0, -1L));
                /* 1695 */
                map1.put(Integer.valueOf(20021166), new SkillEntry(-1, (byte) 0, -1L));
                /* 1696 */
                map1.put(Integer.valueOf(20020109), new SkillEntry(1, (byte) 1, -1L));
                /* 1697 */
                map1.put(Integer.valueOf(20021110), new SkillEntry(1, (byte) 1, -1L));
                /* 1698 */
                map1.put(Integer.valueOf(20020111), new SkillEntry(1, (byte) 1, -1L));
                /* 1699 */
                map1.put(Integer.valueOf(20020112), new SkillEntry(1, (byte) 1, -1L));
                /* 1700 */
                c.getPlayer().changeSkillsLevel(map1);

                return;


            case merTutorSleep01:
                /* 1704 */
                while (c.getPlayer().getLevel() < 10) {
                    /* 1705 */
                    c.getPlayer().levelUp();

                }
                /* 1707 */
                c.getPlayer().changeJob(2300);
                /* 1708 */
                showIntro(c, "Effect/Direction5.img/mersedesTutorial/Scene1");

                return;


            case merTutorSleep02:
                /* 1712 */
                c.announce(UIPacket.IntroEnableUI(0));

                return;


            case merTutorDrecotion00:
                /* 1716 */
                c.announce(UIPacket.playMovie("Mercedes.avi", true));
                /* 1717 */
                map1 = new HashMap<>();
                /* 1718 */
                map1.put(Integer.valueOf(20021181), new SkillEntry(1, (byte) 1, -1L));
                /* 1719 */
                map1.put(Integer.valueOf(20021166), new SkillEntry(1, (byte) 1, -1L));
                /* 1720 */
                c.getPlayer().changeSkillsLevel(map1);

                return;


            case merTutorDrecotion10:
                /* 1724 */
                c.announce(UIPacket.getDirectionStatus(true));
                /* 1725 */
                c.announce(UIPacket.IntroEnableUI(1));
                /* 1726 */
                c.announce(UIPacket.getDirectionInfo("Effect/Direction5.img/effect/mercedesInIce/merBalloon/6", 2000, 0, -100, 1));
                /* 1727 */
                c.announce(UIPacket.getDirectionInfo(1, 2000));
                /* 1728 */
                c.getPlayer().setDirection(0);

                return;


            case merTutorDrecotion20:
                /* 1732 */
                c.announce(UIPacket.getDirectionStatus(true));
                /* 1733 */
                c.announce(UIPacket.IntroEnableUI(1));
                /* 1734 */
                c.announce(UIPacket.getDirectionInfo("Effect/Direction5.img/effect/mercedesInIce/merBalloon/9", 2000, 0, -100, 1));
                /* 1735 */
                c.announce(UIPacket.getDirectionInfo(1, 2000));
                /* 1736 */
                c.getPlayer().setDirection(0);

                return;


            case ds_tuto_ani:
                /* 1740 */
                c.announce(UIPacket.playMovie("DemonSlayer1.avi", true));

                return;


            case Resi_tutor80:

            case startEreb:

            case mirrorCave:

            case babyPigMap:

            case evanleaveD:
                /* 1748 */
                c.announce(UIPacket.IntroDisableUI(false));
                /* 1749 */
                c.announce(UIPacket.IntroLock(false));
                /* 1750 */
                c.announce(MaplePacketCreator.enableActions());

                return;


            case dojang_Msg:
                /* 1754 */
                if (c.getPlayer().getMap().getId() == 925020000) {
                    /* 1755 */
                    c.getPlayer().getMap().startMapEffect(mulungEffects[Randomizer.nextInt(mulungEffects.length)], 5120024);

                } else {
                    /* 1757 */
                    c.getPlayer().getMap().startMapEffect("哈哈！让我看看你，我不会让你离开的。除非你先打败我！", 5120024);

                }

                return;


            case dojang_1st:
                /* 1762 */
                c.getPlayer().writeMulungEnergy();

                return;


            case undomorphdarco:

            case reundodraco:
                /* 1767 */
                c.getPlayer().cancelEffect(MapleItemInformationProvider.getInstance().getItemEffect(2210016), false, -1L);

                return;


            case goAdventure:
                /* 1772 */
                c.announce(UIPacket.IntroDisableUI(true));
                /* 1773 */
                c.announce(UIPacket.IntroLock(true));
                /* 1774 */
                showReservedEffect(c, "Effect/Direction3.img/goAdventure/Scene" + ((c.getPlayer().getGender() == 0) ? "0" : "1"));

                return;


            case crash_Dragon:
                /* 1778 */
                c.announce(UIPacket.IntroDisableUI(true));
                /* 1779 */
                c.announce(UIPacket.IntroLock(true));
                /* 1780 */
                showReservedEffect(c, "Effect/Direction4.img/crash/Scene" + ((c.getPlayer().getGender() == 0) ? "0" : "1"));

                return;

            case getDragonEgg:
                /* 1783 */
                c.announce(UIPacket.IntroDisableUI(true));
                /* 1784 */
                c.announce(UIPacket.IntroLock(true));
                /* 1785 */
                showReservedEffect(c, "Effect/Direction4.img/getDragonEgg/Scene" + ((c.getPlayer().getGender() == 0) ? "0" : "1"));

                return;

            case meetWithDragon:
                /* 1788 */
                c.announce(UIPacket.IntroDisableUI(true));
                /* 1789 */
                c.announce(UIPacket.IntroLock(true));
                /* 1790 */
                showReservedEffect(c, "Effect/Direction4.img/meetWithDragon/Scene" + ((c.getPlayer().getGender() == 0) ? "0" : "1"));

                return;

            case PromiseDragon:
                /* 1793 */
                c.announce(UIPacket.IntroDisableUI(true));
                /* 1794 */
                c.announce(UIPacket.IntroLock(true));
                /* 1795 */
                showReservedEffect(c, "Effect/Direction4.img/PromiseDragon/Scene" + ((c.getPlayer().getGender() == 0) ? "0" : "1"));

                return;

            case evanPromotion:
                /* 1798 */
                switch (c.getPlayer().getMapId()) {

                    case 900090000:
                        /* 1800 */
                        data = "Effect/Direction4.img/promotion/Scene0" + ((c.getPlayer().getGender() == 0) ? "0" : "1");

                        break;

                    case 900090001:
                        /* 1803 */
                        data = "Effect/Direction4.img/promotion/Scene1";

                        break;

                    case 900090002:
                        /* 1806 */
                        data = "Effect/Direction4.img/promotion/Scene2" + ((c.getPlayer().getGender() == 0) ? "0" : "1");

                        break;

                    case 900090003:
                        /* 1809 */
                        data = "Effect/Direction4.img/promotion/Scene3";

                        break;

                    case 900090004:
                        c.announce(UIPacket.IntroDisableUI(false));
                        c.announce(UIPacket.IntroLock(false));
                        c.announce(MaplePacketCreator.enableActions());
                        final MapleMap mapto = c.getChannelServer().getMapFactory().getMap(900010000);
                        c.getPlayer().changeMap(mapto, mapto.getPortal(0));
                        return;

                }
                /* 1819 */
                showIntro(c, data);

                return;

            case mPark_stageEff:
                /* 1822 */
                c.getPlayer().dropMessage(-1, "必须消灭掉地图上的所有怪物，才能移动到下一关。");
                /* 1823 */
                switch (c.getPlayer().getMapId() % 1000 / 100) {

                    case 0:

                    case 1:

                    case 2:

                    case 3:
                        /* 1828 */
                        c.announce(UIPacket.showMapEffect("monsterPark/stageEff/stage"));
                        /* 1829 */
                        c.announce(UIPacket.showMapEffect("monsterPark/stageEff/number/" + (c.getPlayer().getMapId() % 1000 / 100 + 1)));

                        break;

                    case 4:
                        /* 1832 */
                        if (c.getPlayer().getMapId() / 1000000 == 952) {
                            /* 1833 */
                            c.announce(UIPacket.showMapEffect("monsterPark/stageEff/final"));
                            break;

                        }
                        /* 1835 */
                        c.announce(UIPacket.showMapEffect("monsterPark/stageEff/stage"));
                        /* 1836 */
                        c.announce(UIPacket.showMapEffect("monsterPark/stageEff/number/5"));

                        break;


                    case 5:
                        /* 1840 */
                        c.announce(UIPacket.showMapEffect("monsterPark/stageEff/final"));

                        break;

                }

                return;

            case aswan_stageEff:
                /* 1845 */
                c.getPlayer().dropMessage(-1, "必须消灭掉地图上的所有怪物，才能移动到下一关。");
                /* 1846 */
                switch (c.getPlayer().getMapId() % 1000 / 100) {

                    case 1:

                    case 2:
                        /* 1849 */
                        c.announce(UIPacket.showMapEffect("aswan/stageEff/stage"));
                        /* 1850 */
                        c.announce(UIPacket.showMapEffect("aswan/stageEff/number/" + (c.getPlayer().getMapId() % 1000 / 100)));

                        break;

                    case 3:
                        /* 1853 */
                        c.announce(UIPacket.showMapEffect("aswan/stageEff/final"));

                        break;

                }


                return;

            case TD_MC_title:
                /* 1859 */
                c.announce(UIPacket.IntroDisableUI(false));
                /* 1860 */
                c.announce(UIPacket.IntroLock(false));
                /* 1861 */
                c.announce(MaplePacketCreator.enableActions());
                /* 1862 */
                c.announce(UIPacket.showMapEffect("temaD/enter/mushCatle"));

                return;


            case TD_NC_title:
                /* 1866 */
                switch (c.getPlayer().getMapId() / 100 % 10) {

                    case 0:
                        /* 1868 */
                        c.announce(UIPacket.showMapEffect("temaD/enter/teraForest"));

                        break;

                    case 1:

                    case 2:

                    case 3:

                    case 4:

                    case 5:

                    case 6:
                        /* 1876 */
                        c.announce(UIPacket.showMapEffect("temaD/enter/neoCity" + (c.getPlayer().getMapId() / 100 % 10)));

                        break;

                }


                return;

            case explorationPoint:
                /* 1882 */
                explorationPoint(c);

                return;


            case go10000:

            case go1020000:
                /* 1887 */
                c.announce(UIPacket.IntroDisableUI(false));
                /* 1888 */
                c.announce(UIPacket.IntroLock(false));
                /* 1889 */
                c.announce(MaplePacketCreator.enableActions());

            case go20000:

            case go30000:

            case go40000:

            case go50000:

            case go1000000:

            case go2000000:

            case go1010000:

            case go1010100:

            case go1010200:

            case go1010300:

            case go1010400:
                /* 1901 */
                c.announce(UIPacket.MapNameDisplay(c.getPlayer().getMapId()));

                return;


            case TD_LC_title:
                /* 1905 */
                c.announce(MaplePacketCreator.showEffect("temaD/enter/lionCastle"));

                return;

            case ds_tuto_ill0:
                c.announce(UIPacket.getDirectionInfo(1, 6300));
                showIntro(c, "Effect/Direction6.img/DemonTutorial/SceneLogo");
                Timer.EventTimer.getInstance().schedule(() -> {
                    c.announce(UIPacket.IntroDisableUI(false));
                    c.announce(UIPacket.IntroLock(false));
                    c.announce(MaplePacketCreator.enableActions());
                    MapleMap mapto = c.getChannelServer().getMapFactory().getMap(927000000);
                    c.getPlayer().changeMap(mapto, mapto.getPortal(0));
                }, 6300); //wtf
                break;


            case ds_tuto_home_before:
                /* 1920 */
                c.announce(UIPacket.getDirectionInfo(3, 1));
                /* 1921 */
                c.announce(UIPacket.getDirectionInfo(1, 30));
                /* 1922 */
                c.announce(UIPacket.getDirectionStatus(true));
                /* 1923 */
                c.announce(UIPacket.getDirectionInfo(3, 0));
                /* 1924 */
                c.announce(UIPacket.getDirectionInfo(1, 90));

                /* 1926 */
                c.announce(MaplePacketCreator.showEffect("demonSlayer/text11"));
                /* 1927 */
                c.announce(UIPacket.getDirectionInfo(1, 4000));
                /* 1928 */
                Timer.EventTimer.getInstance().schedule(() -> showIntro(c, "Effect/Direction6.img/DemonTutorial/Scene2"), 1000L);

                return;


            case ds_tuto_1_0:
                /* 1932 */
                c.announce(UIPacket.getDirectionInfo(3, 1));
                /* 1933 */
                c.announce(UIPacket.getDirectionInfo(1, 30));
                /* 1934 */
                c.announce(UIPacket.getDirectionStatus(true));

                /* 1936 */
                Timer.EventTimer.getInstance().schedule(() -> {
                    c.announce(UIPacket.getDirectionInfo(3, 0));
                    c.announce(UIPacket.getDirectionInfo(4, 2159310));
                    NPCScriptManager.getInstance().start(c, 2159310);
                }, 1000L);

                return;


            case ds_tuto_4_0:
                /* 1944 */
                c.announce(UIPacket.IntroDisableUI(true));
                /* 1945 */
                c.announce(UIPacket.IntroEnableUI(1));
                /* 1946 */
                c.announce(UIPacket.getDirectionStatus(true));
                /* 1947 */
                c.announce(UIPacket.getDirectionInfo(3, 0));
                /* 1948 */
                c.announce(UIPacket.getDirectionInfo(4, 2159344));
                /* 1949 */
                NPCScriptManager.getInstance().start(c, 2159344);

                return;


            case cannon_tuto_01:
                /* 1953 */
                c.announce(UIPacket.IntroDisableUI(true));
                /* 1954 */
                c.announce(UIPacket.IntroEnableUI(1));
                /* 1955 */
                c.announce(UIPacket.getDirectionStatus(true));
                /* 1956 */
                c.getPlayer().changeSingleSkillLevel(SkillFactory.getSkill(110), 1, (byte) 1);
                /* 1957 */
                c.announce(UIPacket.getDirectionInfo(3, 0));
                /* 1958 */
                c.announce(UIPacket.getDirectionInfo(4, 1096000));
                /* 1959 */
                NPCScriptManager.getInstance().dispose(c);
                /* 1960 */
                NPCScriptManager.getInstance().start(c, 1096000);

                return;


            case ds_tuto_5_0:
                /* 1964 */
                c.announce(UIPacket.IntroDisableUI(true));
                /* 1965 */
                c.announce(UIPacket.IntroEnableUI(1));
                /* 1966 */
                c.announce(UIPacket.getDirectionStatus(true));
                /* 1967 */
                c.announce(UIPacket.getDirectionInfo(3, 0));
                /* 1968 */
                c.announce(UIPacket.getDirectionInfo(4, 2159314));
                /* 1969 */
                NPCScriptManager.getInstance().dispose(c);
                /* 1970 */
                NPCScriptManager.getInstance().start(c, 2159314);

                return;


            case ds_tuto_3_0:
                /* 1974 */
                c.announce(UIPacket.getDirectionInfo(3, 1));
                /* 1975 */
                c.announce(UIPacket.getDirectionInfo(1, 30));
                /* 1976 */
                c.announce(UIPacket.getDirectionStatus(true));
                /* 1977 */
                c.announce(MaplePacketCreator.showEffect("demonSlayer/text12"));

                /* 1979 */
                Timer.EventTimer.getInstance().schedule(() -> {
                    c.announce(UIPacket.getDirectionInfo(3, 0));
                    c.announce(UIPacket.getDirectionInfo(4, 2159311));
                    NPCScriptManager.getInstance().dispose(c);
                    NPCScriptManager.getInstance().start(c, 2159311);
                }, 1000L);

                return;


            case ds_tuto_3_1:
                /* 1988 */
                c.announce(UIPacket.IntroDisableUI(true));
                /* 1989 */
                c.announce(UIPacket.IntroEnableUI(1));
                /* 1990 */
                c.announce(UIPacket.getDirectionStatus(true));
                /* 1991 */
                if (!c.getPlayer().getMap().containsNPC(2159340)) {
                    /* 1992 */
                    c.getPlayer().getMap().spawnNpc(2159340, new Point(175, 0));
                    /* 1993 */
                    c.getPlayer().getMap().spawnNpc(2159341, new Point(300, 0));
                    /* 1994 */
                    c.getPlayer().getMap().spawnNpc(2159342, new Point(600, 0));

                }
                /* 1996 */
                c.announce(UIPacket.getDirectionInfo("Effect/Direction5.img/effect/tuto/balloonMsg2/0", 2000, 0, -100, 1));
                /* 1997 */
                c.announce(UIPacket.getDirectionInfo("Effect/Direction5.img/effect/tuto/balloonMsg1/3", 2000, 0, -100, 1));
                /* 1998 */
                Timer.EventTimer.getInstance().schedule(() -> {
                    c.announce(UIPacket.getDirectionInfo(3, 0));
                    c.announce(UIPacket.getDirectionInfo(4, 2159340));
                    NPCScriptManager.getInstance().dispose(c);
                    NPCScriptManager.getInstance().start(c, 2159340);
                }, 1000L);

                return;


            case ds_tuto_2_before:
                c.announce(UIPacket.IntroEnableUI(1));
                c.announce(UIPacket.getDirectionInfo(3, 1));
                c.announce(UIPacket.getDirectionInfo(1, 30));
                c.announce(UIPacket.getDirectionStatus(true));
                Timer.EventTimer.getInstance().schedule(() -> {
                    c.announce(UIPacket.getDirectionInfo(3, 0));
                    c.announce(MaplePacketCreator.showEffect("demonSlayer/text13"));
                    c.announce(UIPacket.getDirectionInfo(1, 500));
                }, 1000);
                Timer.EventTimer.getInstance().schedule(() -> {
                    c.announce(MaplePacketCreator.showEffect("demonSlayer/text14"));
                    c.announce(UIPacket.getDirectionInfo(1, 4000));
                }, 1500);
                Timer.EventTimer.getInstance().schedule(() -> {
                    MapleMap mapto = c.getChannelServer().getMapFactory().getMap(927000020);
                    c.getPlayer().changeMap(mapto, mapto.getPortal(0));
                    c.announce(UIPacket.IntroEnableUI(0));
                    MapleQuest.getInstance(23204).forceStart(c.getPlayer(), 0, null);
                    MapleQuest.getInstance(23205).forceComplete(c.getPlayer(), 0);
                    Map<Integer, SkillEntry> sDate = new HashMap<>();
                    sDate.put(30011170, new SkillEntry((byte) 1, (byte) 1, -1));
                    sDate.put(30011169, new SkillEntry((byte) 1, (byte) 1, -1));
                    sDate.put(30011168, new SkillEntry((byte) 1, (byte) 1, -1));
                    sDate.put(30011167, new SkillEntry((byte) 1, (byte) 1, -1));
                    sDate.put(30010166, new SkillEntry((byte) 1, (byte) 1, -1));
                    c.getPlayer().changeSkillsLevel(sDate);
                }, 5500);

                return;


            case ds_tuto_1_before:
                /* 2037 */
                c.announce(UIPacket.getDirectionInfo(3, 1));
                /* 2038 */
                c.announce(UIPacket.getDirectionInfo(1, 30));
                /* 2039 */
                c.announce(UIPacket.getDirectionStatus(true));
                /* 2040 */
                Timer.EventTimer.getInstance().schedule(() -> {
                    c.announce(UIPacket.getDirectionInfo(3, 0));
                    c.announce(MaplePacketCreator.showEffect("demonSlayer/text8"));
                    c.announce(UIPacket.getDirectionInfo(1, 500));
                }, 1000L);




                /* 2045 */
                Timer.EventTimer.getInstance().schedule(() -> {
                    c.announce(MaplePacketCreator.showEffect("demonSlayer/text9"));
                    c.announce(UIPacket.getDirectionInfo(1, 3000));
                }, 1500L);



                /* 2049 */
                Timer.EventTimer.getInstance().schedule(() -> {
                    MapleMap mapto = c.getChannelServer().getMapFactory().getMap(927000010);
                    c.getPlayer().changeMap(mapto, mapto.getPortal(0));
                }, 4500L);

                return;


            case ds_tuto_0_0:
                /* 2056 */
                c.announce(UIPacket.getDirectionStatus(true));
                /* 2057 */
                c.announce(UIPacket.IntroEnableUI(1));
                /* 2058 */
                c.announce(UIPacket.IntroDisableUI(true));
                /* 2059 */
                Map<Integer, SkillEntry> sDate = new HashMap<>();
                /* 2060 */
                sDate.put(Integer.valueOf(30011109), new SkillEntry(1, (byte) 1, -1L));
                /* 2061 */
                sDate.put(Integer.valueOf(30010110), new SkillEntry(1, (byte) 1, -1L));
                /* 2062 */
                sDate.put(Integer.valueOf(30010111), new SkillEntry(1, (byte) 1, -1L));
                /* 2063 */
                sDate.put(Integer.valueOf(30010185), new SkillEntry(1, (byte) 1, -1L));
                /* 2064 */
                c.getPlayer().changeSkillsLevel(sDate);
                /* 2065 */
                c.announce(UIPacket.getDirectionInfo(3, 0));
                /* 2066 */
                c.announce(MaplePacketCreator.showEffect("demonSlayer/back"));
                /* 2067 */
                c.announce(MaplePacketCreator.showEffect("demonSlayer/text0"));
                /* 2068 */
                c.announce(UIPacket.getDirectionInfo(1, 500));
                /* 2069 */
                c.getPlayer().setDirection(0);
                /* 2070 */
                if (!c.getPlayer().getMap().containsNPC(2159307)) {
                    /* 2071 */
                    c.getPlayer().getMap().spawnNpc(2159307, new Point(1305, 50));

                }

                return;


            case ds_tuto_2_prep:
                /* 2076 */
                if (!c.getPlayer().getMap().containsNPC(2159309)) {
                    /* 2077 */
                    c.getPlayer().getMap().spawnNpc(2159309, new Point(550, 50));

                }

                return;


            case goArcher:
                /* 2082 */
                c.announce(UIPacket.setStandAloneMode(true));
                /* 2083 */
                c.announce(UIPacket.IntroLock(true));
                /* 2084 */
                showReservedEffect(c, "Effect/Direction3.img/archer/Scene" + ((c.getPlayer().getGender() == 0) ? "0" : "1"));

                return;


            case goPirate:
                /* 2090 */
                c.announce(UIPacket.setStandAloneMode(true));
                /* 2091 */
                c.announce(UIPacket.IntroLock(true));
                /* 2092 */
                showReservedEffect(c, "Effect/Direction3.img/pirate/Scene" + ((c.getPlayer().getGender() == 0) ? "0" : "1"));

                return;


            case goRogue:
                /* 2097 */
                c.announce(UIPacket.setStandAloneMode(true));
                /* 2098 */
                c.announce(UIPacket.IntroLock(true));
                /* 2099 */
                showReservedEffect(c, "Effect/Direction3.img/rogue/Scene" + ((c.getPlayer().getGender() == 0) ? "0" : "1"));

                return;


            case goMagician:
                /* 2104 */
                c.announce(UIPacket.setStandAloneMode(true));
                /* 2105 */
                c.announce(UIPacket.IntroLock(true));
                /* 2106 */
                showReservedEffect(c, "Effect/Direction3.img/magician/Scene" + ((c.getPlayer().getGender() == 0) ? "0" : "1"));

                return;


            case goSwordman:
                /* 2111 */
                c.announce(UIPacket.setStandAloneMode(true));
                /* 2112 */
                c.announce(UIPacket.IntroLock(true));
                /* 2113 */
                showReservedEffect(c, "Effect/Direction3.img/swordman/Scene" + ((c.getPlayer().getGender() == 0) ? "0" : "1"));

                return;


            case goLith:
                /* 2118 */
                c.announce(UIPacket.setStandAloneMode(true));
                /* 2119 */
                c.announce(UIPacket.IntroLock(true));
                /* 2120 */
                showReservedEffect(c, "Effect/Direction3.img/goLith/Scene" + ((c.getPlayer().getGender() == 0) ? "0" : "1"));

                return;


            case TD_MC_Openning:
                /* 2124 */
                showIntro(c, "Effect/Direction2.img/open");

                return;


            case TD_MC_gasi:
                /* 2128 */
                showIntro(c, "Effect/Direction2.img/gasi");

                return;


            case aranDirection:
                /* 2132 */
                switch (c.getPlayer().getMapId()) {

                    case 914090010:
                        /* 2134 */
                        data = "Effect/Direction1.img/aranTutorial/Scene0";

                        break;

                    case 914090011:
                        /* 2137 */
                        data = "Effect/Direction1.img/aranTutorial/Scene1" + ((c.getPlayer().getGender() == 0) ? "0" : "1");

                        break;

                    case 914090012:
                        /* 2140 */
                        data = "Effect/Direction1.img/aranTutorial/Scene2" + ((c.getPlayer().getGender() == 0) ? "0" : "1");

                        break;

                    case 914090013:
                        /* 2143 */
                        data = "Effect/Direction1.img/aranTutorial/Scene3";

                        break;

                    case 914090100:
                        /* 2146 */
                        data = "Effect/Direction1.img/aranTutorial/HandedPoleArm" + ((c.getPlayer().getGender() == 0) ? "0" : "1");

                        break;

                    case 914090200:
                        /* 2149 */
                        data = "Effect/Direction1.img/aranTutorial/Maha";

                        break;

                }
                /* 2152 */
                showIntro(c, data);

                return;


            case iceCave:
                /* 2156 */
                sDate = new HashMap<>();
                /* 2157 */
                sDate.put(Integer.valueOf(20000015), new SkillEntry(-1, (byte) 0, -1L));
                /* 2158 */
                sDate.put(Integer.valueOf(20000014), new SkillEntry(-1, (byte) 0, -1L));
                /* 2159 */
                sDate.put(Integer.valueOf(20000016), new SkillEntry(-1, (byte) 0, -1L));
                /* 2160 */
                sDate.put(Integer.valueOf(20000017), new SkillEntry(-1, (byte) 0, -1L));
                /* 2161 */
                sDate.put(Integer.valueOf(20000018), new SkillEntry(-1, (byte) 0, -1L));
                /* 2162 */
                c.getPlayer().changeSkillsLevel(sDate);
                /* 2163 */
                c.announce(EffectPacket.ShowWZEffect("Effect/Direction1.img/aranTutorial/ClickLirin"));
                /* 2164 */
                c.announce(UIPacket.IntroDisableUI(false));
                /* 2165 */
                c.announce(UIPacket.IntroLock(false));
                /* 2166 */
                c.announce(MaplePacketCreator.enableActions());

                return;


            case rienArrow:
                /* 2170 */
                if (c.getPlayer().getInfoQuest(21019).equals("miss=o;helper=clear")) {
                    /* 2171 */
                    c.getPlayer().updateInfoQuest(21019, "miss=o;arr=o;helper=clear");
                    /* 2172 */
                    c.announce(EffectPacket.AranTutInstructionalBalloon("Effect/OnUserEff.img/guideEffect/aranTutorial/tutorialArrow3"));

                }

                return;


            case rien:
                /* 2177 */
                if (c.getPlayer().getQuestStatus(21101) == 2 && c.getPlayer().getInfoQuest(21019).equals("miss=o;arr=o;helper=clear")) {
                    /* 2178 */
                    c.getPlayer().updateInfoQuest(21019, "miss=o;arr=o;ck=1;helper=clear");

                }
                /* 2180 */
                c.announce(UIPacket.IntroDisableUI(false));
                /* 2181 */
                c.announce(UIPacket.IntroLock(false));

                return;


            case check_count:
                /* 2185 */
                if (c.getPlayer().getMapId() == 950101010 && (!c.getPlayer().haveItem(4001433, 20) || c.getPlayer().getLevel() < 50)) {
                    /* 2186 */
                    MapleMap mapp = c.getChannelServer().getMapFactory().getMap(950101100);
                    /* 2187 */
                    c.getPlayer().changeMap(mapp, mapp.getPortal(0));

                }

                return;


            case Massacre_first:
                /* 2192 */
                if (c.getPlayer().getPyramidSubway() == null) {
                    /* 2193 */
                    c.getPlayer().setPyramidSubway(new Event_PyramidSubway(c.getPlayer()));

                }

                return;


            case Massacre_result:
                /* 2198 */
                c.announce(MaplePacketCreator.showEffect("killing/fail"));

                return;

        }

        /* 2202 */
        log.info("地图触发: 未找到 " + scriptName + ", 类型: onUserEnter - 地图ID " + c.getPlayer().getMapId());
        /* 2203 */
        NPCScriptManager.getInstance().onUserEnter(c, scriptName);
    }


    public static void explorationPoint(MapleClient c) {
        /* 2210 */
        if (c.getPlayer().getMapId() == 104000000) {
            /* 2211 */
            c.announce(UIPacket.IntroDisableUI(false));
            /* 2212 */
            c.announce(UIPacket.IntroLock(false));
            /* 2213 */
            c.announce(MaplePacketCreator.enableActions());
            /* 2214 */
            c.announce(UIPacket.MapNameDisplay(c.getPlayer().getMapId()));

        }

        /* 2217 */
        MedalQuest m = null;
        /* 2218 */
        for (MedalQuest mq : MedalQuest.values()) {
            /* 2219 */
            for (int i : mq.maps) {
                /* 2220 */
                if (c.getPlayer().getMapId() == i) {
                    /* 2221 */
                    m = mq;

                    break;

                }

            }

        }
        /* 2226 */
        if (m != null && c.getPlayer().getLevel() >= m.level && c.getPlayer().getQuestStatus(m.questid) != 2) {
            /* 2227 */
            if (c.getPlayer().getQuestStatus(m.lquestid) != 1) {
                /* 2228 */
                MapleQuest.getInstance(m.lquestid).forceStart(c.getPlayer(), 0, "0");

            }
            /* 2230 */
            if (c.getPlayer().getQuestStatus(m.questid) != 1) {
                /* 2231 */
                MapleQuest.getInstance(m.questid).forceStart(c.getPlayer(), 0, null);
                /* 2232 */
                StringBuilder stringBuilder = new StringBuilder("enter=");
                /* 2233 */
                for (int map : m.maps) {
                    /* 2234 */
                    stringBuilder.append("0");

                }
                /* 2236 */
                c.getPlayer().updateInfoQuest(m.questid - 2005, stringBuilder.toString());
                /* 2237 */
                MapleQuest.getInstance(m.questid - 1995).forceStart(c.getPlayer(), 0, "0");

            }
            /* 2239 */
            String quest = c.getPlayer().getInfoQuest(m.questid - 2005);
            /* 2240 */
            if (quest.length() != m.maps.length + 6) {
                /* 2241 */
                StringBuilder stringBuilder = new StringBuilder("enter=");
                /* 2242 */
                for (int map : m.maps) {
                    /* 2243 */
                    stringBuilder.append("0");

                }
                /* 2245 */
                quest = stringBuilder.toString();
                /* 2246 */
                c.getPlayer().updateInfoQuest(m.questid - 2005, quest);

            }
            /* 2248 */
            MapleQuestStatus stat = c.getPlayer().getQuestNAdd(MapleQuest.getInstance(m.questid - 1995));
            /* 2249 */
            if (stat.getCustomData() == null) {
                /* 2250 */
                stat.setCustomData("0");

            }
            /* 2252 */
            int number = Integer.parseInt(stat.getCustomData());
            /* 2253 */
            StringBuilder sb = new StringBuilder("enter=");
            /* 2254 */
            boolean changedd = false;
            /* 2255 */
            for (int i = 0; i < m.maps.length; i++) {
                /* 2256 */
                boolean changed = false;
                /* 2257 */
                if (c.getPlayer().getMapId() == m.maps[i] &&
                        /* 2258 */           quest.substring(i + 6, i + 7).equals("0")) {
                    /* 2259 */
                    sb.append("1");
                    /* 2260 */
                    changed = true;
                    /* 2261 */
                    changedd = true;

                }

                /* 2264 */
                if (!changed) {
                    /* 2265 */
                    sb.append(quest.substring(i + 6, i + 7));

                }

            }
            /* 2268 */
            if (changedd) {
                /* 2269 */
                number++;
                /* 2270 */
                c.getPlayer().updateInfoQuest(m.questid - 2005, sb.toString());
                /* 2271 */
                MapleQuest.getInstance(m.questid - 1995).forceStart(c.getPlayer(), 0, String.valueOf(number));
                /* 2272 */
                c.getPlayer().dropMessage(-1, "探险了 " + number + "/" + m.maps.length + " 个地区");
                /* 2273 */
                c.getPlayer().dropMessage(-1, "正在挑战称号 - " + String.valueOf(m) + "");
                /* 2274 */
                c.announce(MaplePacketCreator.showQuestMsg("正在挑战称号 - " + String.valueOf(m) + "。" + number + "/" + m.maps.length + " 完成"));

            }

        }

    }


    private static void reloadWitchTower(MapleClient c) {

        int mob;
        /* 2280 */
        MapleMap map = c.getPlayer().getMap();
        /* 2281 */
        map.killAllMonsters(false);
        /* 2282 */
        int level = c.getPlayer().getLevel();

        /* 2284 */
        if (level <= 10) {
            /* 2285 */
            mob = 9300367;
            /* 2286 */
        } else if (level <= 20) {
            /* 2287 */
            mob = 9300368;
            /* 2288 */
        } else if (level <= 30) {
            /* 2289 */
            mob = 9300369;
            /* 2290 */
        } else if (level <= 40) {
            /* 2291 */
            mob = 9300370;
            /* 2292 */
        } else if (level <= 50) {
            /* 2293 */
            mob = 9300371;
            /* 2294 */
        } else if (level <= 60) {
            /* 2295 */
            mob = 9300372;
            /* 2296 */
        } else if (level <= 70) {
            /* 2297 */
            mob = 9300373;
            /* 2298 */
        } else if (level <= 80) {
            /* 2299 */
            mob = 9300374;
            /* 2300 */
        } else if (level <= 90) {
            /* 2301 */
            mob = 9300375;
            /* 2302 */
        } else if (level <= 100) {
            /* 2303 */
            mob = 9300376;

        } else {
            /* 2305 */
            mob = 9300377;

        }
        /* 2307 */
        MapleMonster theMob = MapleLifeFactory.getMonster(mob);
        /* 2308 */
        OverrideMonsterStats oms = new OverrideMonsterStats();
        /* 2309 */
        oms.setOMp(theMob.getMobMaxMp());
        /* 2310 */
        oms.setOExp(theMob.getMobExp());
        /* 2311 */
        oms.setOHp((long) Math.ceil(theMob.getMobMaxHp() * level / 5.0D));
        /* 2312 */
        theMob.setOverrideStats(oms);
        /* 2313 */
        map.spawnMonsterOnGroundBelow(theMob, witchTowerPos);

    }


    @Deprecated
    private static void showIntro(MapleClient c, String data) {
        /* 2318 */
        c.announce(UIPacket.IntroDisableUI(true));
        /* 2319 */
        c.announce(UIPacket.IntroLock(true));
        /* 2320 */
        c.announce(EffectPacket.ShowWZEffect(data));

    }


    private static void LP_UserEffectLocal(MapleClient c) {
        /* 2324 */
        c.announce(UIPacket.IntroDisableUI(true));
        /* 2325 */
        c.announce(UIPacket.IntroLock(true));

    }


    public static void showReservedEffect(MapleClient c, String S) {
        /* 2329 */
        c.announce(LP_UserEffectLocal.LP_UserEffectLocal(EffectOpcode.UserEffect_ReservedEffect, (Object[]) new String[]{"0", "0", "0", S}));

    }


    public void reloadWitchTower() {
        /* 2334 */
        reloadWitchTower(getClient());

    }


    public void startMapEffect(MapleClient c, String data, int itemId) {
        /* 2338 */
        MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
        /* 2339 */
        if (!ii.itemExists(itemId)) {
            /* 2340 */
            getPlayer().dropMessage(5, "地图效果触发 道具: " + itemId + " 不存在.");
            return;

        }
        /* 2342 */
        if (!ii.isFloatCashItem(itemId)) {
            /* 2343 */
            getPlayer().dropMessage(5, "地图效果触发 道具: " + itemId + " 不具有漂浮公告的效果.");

            return;

        }
        /* 2346 */
        getPlayer().getMap().startMapEffect(data, itemId);

    }


    public void sendMapNameDisplay(boolean enabled) {
        /* 2350 */
        if (enabled) {
            /* 2351 */
            getClient().announce(UIPacket.IntroDisableUI(false));
            /* 2352 */
            getClient().announce(UIPacket.IntroLock(false));

        }
        /* 2354 */
        getClient().announce(UIPacket.MapNameDisplay(getPlayer().getMapId()));

    }


    public void handlePinkBeanStart() {
        /* 2358 */
        MapleMap map = getPlayer().getMap();
        /* 2359 */
        map.resetFully();
        /* 2360 */
        if (!map.containsNPC(2141000)) {
            /* 2361 */
            map.spawnNpc(2141000, new Point(-190, -42));

        }

    }


    private enum onFirstUserEnter {
        /* 2367 */     dojang_Eff,
        /* 2368 */     dojang_Msg,
        /* 2369 */     PinkBeen_before,
        /* 2370 */     onRewordMap,
        /* 2371 */     StageMsg_together,
        /* 2372 */     StageMsg_crack,
        /* 2373 */     StageMsg_davy,
        /* 2374 */     StageMsg_goddess,
        /* 2375 */     party6weatherMsg,
        /* 2376 */     StageMsg_juliet,
        /* 2377 */     StageMsg_romio,
        /* 2378 */     moonrabbit_mapEnter,
        /* 2379 */     astaroth_summon,
        /* 2380 */     boss_Ravana,
        /* 2381 */     boss_Ravana_mirror,
        /* 2382 */     killing_BonusSetting,
        /* 2383 */     killing_MapSetting,
        /* 2384 */     metro_firstSetting,
        /* 2385 */     balog_bonusSetting,
        /* 2386 */     balog_summon,
        /* 2387 */     easy_balog_summon,
        /* 2388 */     Sky_TrapFEnter,
        /* 2389 */     shammos_Fenter,
        /* 2390 */     PRaid_D_Fenter,
        /* 2391 */     PRaid_B_Fenter,
        /* 2392 */     summon_pepeking,
        /* 2393 */     Xerxes_summon,
        /* 2394 */     VanLeon_Before,
        /* 2395 */     cygnus_Summon,
        /* 2396 */     storymap_scenario,
        /* 2397 */     shammos_FStart,
        /* 2398 */     kenta_mapEnter,
        /* 2399 */     iceman_FEnter,
        /* 2400 */     iceman_Boss,
        /* 2401 */     prisonBreak_mapEnter,
        /* 2402 */     Visitor_Cube_poison,
        /* 2403 */     Visitor_Cube_Hunting_Enter_First,
        /* 2404 */     VisitorCubePhase00_Start,
        /* 2405 */     visitorCube_addmobEnter,
        /* 2406 */     Visitor_Cube_PickAnswer_Enter_First_1,
        /* 2407 */     visitorCube_medicroom_Enter,
        /* 2408 */     visitorCube_iceyunna_Enter,
        /* 2409 */     Visitor_Cube_AreaCheck_Enter_First,
        /* 2410 */     visitorCube_boomboom_Enter,
        /* 2411 */     visitorCube_boomboom2_Enter,
        /* 2412 */     CubeBossbang_Enter,
        /* 2413 */     MalayBoss_Int,
        /* 2414 */     mPark_summonBoss,
        /* 2415 */     NULL;


        private static onFirstUserEnter fromString(String Str) {

            try {
                /* 2419 */
                return valueOf(Str);
                /* 2420 */
            } catch (IllegalArgumentException ex) {
                /* 2421 */
                return NULL;

            }

        }

    }


    private enum onUserEnter {
        /* 2428 */     babyPigMap,
        /* 2429 */     crash_Dragon,
        /* 2430 */     evanleaveD,
        /* 2431 */     getDragonEgg,
        /* 2432 */     meetWithDragon,
        /* 2433 */     go1010100,
        /* 2434 */     go1010200,
        /* 2435 */     go1010300,
        /* 2436 */     go1010400,
        /* 2437 */     evanPromotion,
        /* 2438 */     PromiseDragon,
        /* 2439 */     evanTogether,
        /* 2440 */     incubation_dragon,
        /* 2441 */     TD_MC_Openning,
        /* 2442 */     TD_MC_gasi,
        /* 2443 */     TD_MC_title,
        /* 2444 */     cygnusJobTutorial,
        /* 2445 */     cygnusTest,
        /* 2446 */     startEreb,
        /* 2447 */     dojang_Msg,
        /* 2448 */     dojang_1st,
        /* 2449 */     reundodraco,
        /* 2450 */     undomorphdarco,
        /* 2451 */     explorationPoint,
        /* 2452 */     goAdventure,
        /* 2453 */     go10000,
        /* 2454 */     go20000,
        /* 2455 */     go30000,
        /* 2456 */     go40000,
        /* 2457 */     go50000,
        /* 2458 */     go1000000,
        /* 2459 */     go1010000,
        /* 2460 */     go1020000,
        /* 2461 */     go2000000,
        /* 2462 */     goArcher,
        /* 2463 */     goPirate,
        /* 2464 */     goRogue,
        /* 2465 */     goMagician,
        /* 2466 */     goSwordman,
        /* 2467 */     goLith,
        /* 2468 */     iceCave,
        /* 2469 */     mirrorCave,
        /* 2470 */     aranDirection,
        /* 2471 */     rienArrow,
        /* 2472 */     rien,
        /* 2473 */     check_count,
        /* 2474 */     Massacre_first,
        /* 2475 */     Massacre_result,
        /* 2476 */     aranTutorAlone,
        /* 2477 */     evanAlone,
        /* 2478 */     dojang_QcheckSet,
        /* 2479 */     Sky_StageEnter,
        /* 2480 */     outCase,
        /* 2481 */     balog_buff,
        /* 2482 */     balog_dateSet,
        /* 2483 */     Sky_BossEnter,
        /* 2484 */     Sky_GateMapEnter,
        /* 2485 */     shammos_Enter,
        /* 2486 */     shammos_Result,
        /* 2487 */     shammos_Base,
        /* 2488 */     dollCave00,
        /* 2489 */     dollCave01,
        /* 2490 */     dollCave02,
        /* 2491 */     Sky_Quest,
        /* 2492 */     enterBlackfrog,
        /* 2493 */     onSDI,
        /* 2494 */     blackSDI,
        /* 2495 */     summonIceWall,
        /* 2496 */     metro_firstSetting,
        /* 2497 */     start_itemTake,
        /* 2498 */     findvioleta,
        /* 2499 */     pepeking_effect,
        /* 2500 */     TD_MC_keycheck,
        /* 2501 */     TD_MC_gasi2,
        /* 2502 */     in_secretroom,
        /* 2503 */     sealGarden,
        /* 2504 */     TD_NC_title,
        /* 2505 */     TD_neo_BossEnter,
        /* 2506 */     PRaid_D_Enter,
        /* 2507 */     PRaid_B_Enter,
        /* 2508 */     PRaid_Revive,
        /* 2509 */     PRaid_W_Enter,
        /* 2510 */     PRaid_WinEnter,
        /* 2511 */     PRaid_FailEnter,
        /* 2512 */     Resi_tutor10,
        /* 2513 */     Resi_tutor20,
        /* 2514 */     Resi_tutor30,
        /* 2515 */     Resi_tutor40,
        /* 2516 */     Resi_tutor50,
        /* 2517 */     Resi_tutor60,
        /* 2518 */     Resi_tutor70,
        /* 2519 */     Resi_tutor80,
        /* 2520 */     Resi_tutor50_1,
        /* 2521 */     summonSchiller,
        /* 2522 */     q31102e,
        /* 2523 */     q31103s,
        /* 2524 */     jail,
        /* 2525 */     VanLeon_ExpeditionEnter,
        /* 2526 */     cygnus_ExpeditionEnter,
        /* 2527 */     knights_Summon,
        /* 2528 */     TCMobrevive,
        /* 2529 */     mPark_stageEff,
        /* 2530 */     aswan_stageEff,
        /* 2531 */     moonrabbit_takeawayitem,
        /* 2532 */     StageMsg_crack,
        /* 2533 */     shammos_Start,
        /* 2534 */     iceman_Enter,
        /* 2535 */     prisonBreak_1stageEnter,
        /* 2536 */     VisitorleaveDirectionMode,
        /* 2537 */     visitorPT_Enter,
        /* 2538 */     VisitorCubePhase00_Enter,
        /* 2539 */     visitor_ReviveMap,
        /* 2540 */     cannon_tuto_01,
        /* 2541 */     cannon_tuto_direction,
        /* 2542 */     cannon_tuto_direction1,
        /* 2543 */     cannon_tuto_direction2,
        /* 2544 */     userInBattleSquare,
        /* 2545 */     merTutorDrecotion00,
        /* 2546 */     merTutorDrecotion10,
        /* 2547 */     merTutorDrecotion20,
        /* 2548 */     merStandAlone,
        /* 2549 */     merOutStandAlone,
        /* 2550 */     merTutorSleep00,
        /* 2551 */     merTutorSleep01,
        /* 2552 */     merTutorSleep02,
        /* 2553 */     EntereurelTW,
        /* 2554 */     ds_tuto_ill0,
        /* 2555 */     ds_tuto_0_0,
        /* 2556 */     ds_tuto_1_0,
        /* 2557 */     ds_tuto_3_0,
        /* 2558 */     ds_tuto_3_1,
        /* 2559 */     ds_tuto_4_0,
        /* 2560 */     ds_tuto_5_0,
        /* 2561 */     ds_tuto_2_prep,
        /* 2562 */     ds_tuto_1_before,
        /* 2563 */     ds_tuto_2_before,
        /* 2564 */     ds_tuto_home_before,
        /* 2565 */     ds_tuto_ani,
        /* 2566 */     TD_LC_title,
        /* 2567 */     NULL;


        private static onUserEnter fromString(String Str) {

            try {
                /* 2571 */
                return valueOf(Str);
                /* 2572 */
            } catch (IllegalArgumentException ex) {
                /* 2573 */
                return NULL;

            }

        }

    }


    private enum directionInfo {
        /* 2580 */     merTutorDrecotion01,
        /* 2581 */     merTutorDrecotion02,
        /* 2582 */     merTutorDrecotion03,
        /* 2583 */     merTutorDrecotion04,
        /* 2584 */     merTutorDrecotion05,
        /* 2585 */     merTutorDrecotion12,
        /* 2586 */     merTutorDrecotion21,
        /* 2587 */     ds_tuto_0_1,
        /* 2588 */     ds_tuto_0_2,
        /* 2589 */     ds_tuto_0_3,
        /* 2590 */     NULL;


        private static directionInfo fromString(String Str) {

            try {
                /* 2594 */
                return valueOf(Str);
                /* 2595 */
            } catch (IllegalArgumentException ex) {
                /* 2596 */
                return NULL;

            }

        }

    }

}


/* Location:              C:\PGX\Server.jar!\scripting\map\MapScriptMethods.class
 * Java compiler version: 8 (52.0)
 * JD-Core Version:       1.1.3
 */